如何将 Wordpress 标题标签转换为 html div 标签
How to convert Wordpress caption tag to html div tag
我从 Wordpress 转换了一个网站,我的一些帖子有如下标题标签:
[caption id="attachment_666" align="alignleft" width="316"]
<img class="wp-image-92692" src="img" width="316" alt="fitbit-yoga-lady.png" height="210">
text
[/caption]
我想捕捉所有这些字幕并将其转换为以下内容
<div id="attachment_666" style="width: 326px" class="wp-caption alignleft">
<img class="wp-image-92692" src="img" alt="fitbit-yoga-lady.png" width="316" height="210">
<p class="caption">text</p>
</div>
我在 phone 上盲目地这样做,但我 认为 您可以使用以下两个正则表达式,一个用于开始标记,另一个用于收盘:
查找:
\[caption([^\]])\]
代替:
<div>
查找:
\[/\caption\]
代替:
</div>
好吧,鉴于您提供的确切文本,以下内容应该有效。
搜索模式:
\[caption([^\]]+)align="([^"]+)"\s+width="(\d+)"\](\s*\<img[^>]+>)\s*(.*?)\s*\[\/caption\]
替换:
<divstyle="width: px" class="wp-caption ">
<p class="caption"></p>
</div>
参见demo。
根据需要对输入变化的容忍程度,您可能需要从那里进行调整,但这至少应该让您入门。
下面是如何使用 preg_replace
完成此操作的示例:
function convert_caption($content)
{
return preg_replace(
'/\[caption([^\]]+)align="([^"]+)"\s+width="(\d+)"\](\s*\<img[^>]+>)\s*(.*?)\s*\[\/caption\]/i',
'<divstyle="width: px" class="wp-caption "><p class="caption"></p></div>',
$content);
}
我从 Wordpress 转换了一个网站,我的一些帖子有如下标题标签:
[caption id="attachment_666" align="alignleft" width="316"]
<img class="wp-image-92692" src="img" width="316" alt="fitbit-yoga-lady.png" height="210">
text
[/caption]
我想捕捉所有这些字幕并将其转换为以下内容
<div id="attachment_666" style="width: 326px" class="wp-caption alignleft">
<img class="wp-image-92692" src="img" alt="fitbit-yoga-lady.png" width="316" height="210">
<p class="caption">text</p>
</div>
我在 phone 上盲目地这样做,但我 认为 您可以使用以下两个正则表达式,一个用于开始标记,另一个用于收盘:
查找:
\[caption([^\]])\]
代替:
<div>
查找:
\[/\caption\]
代替:
</div>
好吧,鉴于您提供的确切文本,以下内容应该有效。
搜索模式:
\[caption([^\]]+)align="([^"]+)"\s+width="(\d+)"\](\s*\<img[^>]+>)\s*(.*?)\s*\[\/caption\]
替换:
<divstyle="width: px" class="wp-caption ">
<p class="caption"></p>
</div>
参见demo。
根据需要对输入变化的容忍程度,您可能需要从那里进行调整,但这至少应该让您入门。
下面是如何使用 preg_replace
完成此操作的示例:
function convert_caption($content)
{
return preg_replace(
'/\[caption([^\]]+)align="([^"]+)"\s+width="(\d+)"\](\s*\<img[^>]+>)\s*(.*?)\s*\[\/caption\]/i',
'<divstyle="width: px" class="wp-caption "><p class="caption"></p></div>',
$content);
}