我想删除包含在我的代码中的所有EMPTY文章标签,例如:
<article>
</article>
但它也适用于:
<article></article>
和
<article> </article>
我现在有这个(在我的WordPress主题的function.php中),但它不起作用:
function remove_empty_articles($content) {
$content = preg_replace('#<article>(.+)</article>#', '', $content);
return $content;
}
add_filter('the_content', 'remove_empty_articles');
如何解决?
答案 0 :(得分:0)
请改用此模式:
#<article>\s*</article>#
带有\s*
的表示零个或多个白色字符。不需要捕获组。
您使用的模式是错误的,原因有两个:
.
匹配除换行符之外的任何字符(这将删除所有一行文章标签,而不会找到多行上的文章标签。)<article></article>
。