WordPress很棒,但是它很讨厌在任何地方添加段落标签。
问题在于,即使youtube链接也被P标签包围。在这种情况下,它们不会被嵌入,而是保持链接,而不是可播放的视频。我已经尝试了各种方法来防止wordpress添加P标签,但是似乎没有任何效果。
因此,我想实现一个过滤器,该过滤器可读取帖子的完整内容,查找youtube URL,并从中剥离周围的P标签。
例如我有这个:
add_filter('the_content','replace_content');
function replace_content($content)
{
$content = str_replace('###replacement###', 'something_else',$content);
return $content;
}
$ content包含完整内容。现在,我需要在$ content中找到被P标签包围的youtube URL。例如
<p>https://youtu.be/abcdefg</p>
然后从中剥离P标签,然后放回去。
任何帮助将不胜感激。
谢谢。
莫里斯
最佳答案
简单而不是太好的正则表达式,但是可以解决问题
$content = preg_replace('#<p>(https?:\/\/youtu.+?)<\/p>#i', '$1',$content);