2010-08-17 58 views
0

如果有人发布包含文本和链接的多行文章,我希望能够找到并包装带有<p>标签的链接,但我一次只能使用一个链接进行操作(源代码来自phpBB2 - 可点击的链接功能),这将导致每一个环节是这样的:使用preg_replace |的多行链接PHP

<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> 

干杯。

回答

2

其提供给DOM loadHTML功能和getElementsByTagName('p'),使基于该->length->item(i)的参考,得到了nodeValue,只是做一个新的段落与document.createElement,设置的nodeValue到您的nodeValue弦乐您从循环中检索在将它们连接到\n<br>之后。

你不应该使用这个正则表达式。

+0

为什么?为什么我不应该使用正则表达式呢? – MacMac 2010-08-17 21:51:43

+0

这么多原因。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 本质上,HTML不是一种常规语言,所以正则表达式不会有能力充分和正确地解析它。有些情况下,正则表达式可以帮助你解决HTML,但它很少是工作的正确工具。 – 2011-03-04 22:58:35