Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有preg_replace | PHP的多行链接_Php_Preg Replace - Fatal编程技术网

带有preg_replace | PHP的多行链接

带有preg_replace | PHP的多行链接,php,preg-replace,Php,Preg Replace,如果有人发布了一篇包含文本和链接的多行文章,我希望能够找到并包装带有标记的链接,但我一次只能使用一个链接(源代码来自phpBB2-clickable links函数),这会导致每个链接都是这样的: <p>http://www.bbc.co.uk/</p> <p>http://www.bbc.co.uk/</p> <p>http://www.bbc.co.uk/</p> <p>http://www.bbc.co.

如果有人发布了一篇包含文本和链接的多行文章,我希望能够找到并包装带有
标记的链接,但我一次只能使用一个链接(源代码来自phpBB2-clickable links函数),这会导致每个链接都是这样的:

<p>http://www.bbc.co.uk/</p>
<p>http://www.bbc.co.uk/</p>
<p>http://www.bbc.co.uk/</p>
<p>http://www.bbc.co.uk/
http://www.bbc.co.uk/
http://www.bbc.co.uk/</p>
http://www.bbc.co.uk/

http://www.bbc.co.uk/

http://www.bbc.co.uk/

我希望它恰好是这样的:

<p>http://www.bbc.co.uk/</p>
<p>http://www.bbc.co.uk/</p>
<p>http://www.bbc.co.uk/</p>
<p>http://www.bbc.co.uk/
http://www.bbc.co.uk/
http://www.bbc.co.uk/</p>
http://www.bbc.co.uk/
http://www.bbc.co.uk/
http://www.bbc.co.uk/

干杯。

将其馈送到DOM函数,并根据
->length
引用
->item(i)
,获取
节点值
,然后用,将nodeValue设置为您从循环中检索的
nodeValue
s字符串,该字符串是在将它们与
\n
或其他内容连接后检索的


您不应该为此使用正则表达式。

为什么?为什么我不应该使用正则表达式呢?有很多原因。从本质上讲,HTML不是一种常规语言,因此正则表达式没有完全正确地解析它的能力。在某些情况下,正则表达式可以帮助您咀嚼HTML,但它很少是适合这项工作的工具。