我正在尝试获取单个 HTML 段落中的 URL,并使用 PHP 的preg_replace_callback
. 现在,WordPress 通过以下方式做到这一点:
preg_replace_callback( '|^\s*(https?://[^\s"]+)\s*$|im', 'callback_function', $string );
但这与它自己的行上的 URL 匹配——它周围没有 HTML。我需要做的是匹配这样的 URL:
<p>http://youtube.com/</p>
我不关心段落标记之前或之后的空格,我要做的就是提取该 URL 以将其替换为更详细的信息preg_replace_callback
。
有什么帮助吗?
更新: 好的,我有一个帖子的文字,里面有很多这样的段落:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis et nunc vel felis vulputate tincidunt. In dapibus tempus sollicitudin. Nullam quis ultricies tortor. Ut malesuada aliquet enim. Aliquam et lobortis urna. Sed commodo malesuada malesuada. Donec cursus nisi nec mauris venenatis pharetra. Curabitur ut leo purus.</p>
<p>http://youtube.com/</p>
<p>Etiam non odio tellus, vel imperdiet nunc. Praesent rutrum sagittis purus, quis pretium eros varius ut. http://google.com/ Ut id orci eu lacus aliquam luctus. Sed dolor quam, suscipit eu dapibus feugiat, lacinia vitae augue.</p>
从该文本中,我只想提取段落中的http://youtube.com/。我看到另一段中有一个 Google.com 链接,但我不希望这样。我想要的只是他们自己段落中的链接(或链接)。它会作为参数传递给我的回调“http://youtube.com/”。