2010-08-17 57 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