我使用以下代码从帖子内容中跟踪和提取Youtube链接:
<?php $entry_content = apply_filters( 'the_content', get_the_content() );
if ( preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $entry_content, $matches) ) { ?>
<iframe width="300" height="300" src="https://www.<?php echo $matches[0]; ?>" frameborder="0" allowfullscreen>
</iframe>
<?php } ?>
除了这个问题之外它工作正常:如果Youtube链接之后的段落以双引号开头,代码会断开,在视频后面显示以下内容(在前端):“Ab" frameborder="0" allowfullscreen>
(正在& #39; Ab&#39;前面提到的段落的前两个字符。)
可能导致此问题的原因是什么? :S