图片下方显示标题。
但是它是<p>
标签,但我需要<div>
将
<p class="wp-caption-text">
更改为<div class="wp-caption-text">
示例:
<p class="wp-caption-text">any-content<p>
我需要:
<div class="wp-caption-text">any-content<div>
不需要并且不适合带有shortcode和jquery的变量。
我试图通过以下方式实现:
function filter_ptags_on_capt($content)
{
return preg_replace("/(<p class=\"wp-caption-text\">.*<\/p>)/Us", "<div class=\"wp-caption-text\">$1</div>",$content); ?>
}
add_filter('the_content', 'filter_ptags_on_capt');
但是它不起作用。 也许我把正则表达式写错了,但也许那样行不通。
答案 0 :(得分:0)
preg_match函数略有变化。请尝试以下对我有用的东西。
更改
<p class="wp-caption-text">any-content<p>
到
<div class="wp-caption-text">any-content<div>
代码:
function filter_ptags_on_capt($content)
{
return preg_replace('/<p class="wp-caption-text">(.*?)<p>/', '<div class="wp-caption-text">$1<div>', $content);
}
add_filter('the_content', 'filter_ptags_on_capt');
如果要更改
<p class="wp-caption-text">any-content</p>
到
<div class="wp-caption-text">any-content</div>
然后尝试以下代码。
代码:
function filter_ptags_on_capt($content)
{
return preg_replace('/<p class="wp-caption-text">(.*?)<\/p>/', '<div class="wp-caption-text">$1</div>', $content);
}
add_filter('the_content', 'filter_ptags_on_capt');
我认为第二种是具有适当的HTML标记的完美html格式。
谢谢。
答案 1 :(得分:0)
此工作代码
function filter_wp_caption_div( $content ) {
return preg_replace(
'/<p[^>]+class="wp-caption-text"[^>]*>(.+)(?=<\/p>)/s',
'<div class="wp-caption-text">\1</div>',
$content
);
}
add_filter( 'the_content', 'filter_wp_caption_div', 12 );