前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在 WordPress 中实现 PHP 版本的 wrap 函数

在 WordPress 中实现 PHP 版本的 wrap 函数

作者头像
Denis
发布2023-04-13 09:58:28
发布2023-04-13 09:58:28
58300
代码可运行
举报
文章被收录于专栏:WordPress果酱WordPress果酱
运行总次数:0
代码可运行

jQuery 有个 wrap 函数,可以使用指定的 HTML 元素来包裹每个被选元素。

jQuery Wrap 函数

比如下面这段 HTML:

代码语言:javascript
代码运行次数:0
运行
复制
<div class="container">
  <div class="inner">Hello</div>
  <div class="inner">Goodbye</div>
</div>

我们使用 wrap 函数给 classinner 的元素加上 classnew 的 div:

代码语言:javascript
代码运行次数:0
运行
复制
$( ".inner" ).wrap( "<div class='new'></div>" );

结果为:

代码语言:javascript
代码运行次数:0
运行
复制
<div class="container">
  <div class="new">
    <div class="inner">Hello</div>
  </div>
  <div class="new">
    <div class="inner">Goodbye</div>
  </div>
</div>

wrap 函数也支持回调函数作为参数:

代码语言:javascript
代码运行次数:0
运行
复制
$( ".inner" ).wrap(function() {
  return "<div class='" + $( this ).text() + "'></div>";
});

结果为:

代码语言:javascript
代码运行次数:0
运行
复制
<div class="container">
  <div class="Hello">
    <div class="inner">Hello</div>
  </div>
  <div class="Goodbye">
    <div class="inner">Goodbye</div>
  </div>
</div>

PHP 版本 Wrap 函数

jQuery 的 wrap 函数非常好用,所以我在 PHP 中也简单实现相应的版本:

代码语言:javascript
代码运行次数:0
运行
复制
function wpjam_wrap($text, $wrap){
	$pos	= strpos($wrap, '></');

	if($pos !== false){
		return substr_replace($wrap, '>'.$text.'</', $pos, 3);
	}elseif(is_callable($wrap)){
		return call_user_func_array($wrap, $text);
	}

	return $text;
}

该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载,简单勾选或者设置下即可开启!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • jQuery Wrap 函数
  • PHP 版本 Wrap 函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档