2010-07-07 58 views
0
..(content)............. 
<A HREF="http://test.com/content" >test link </A> 
...(continue content)... 

我想刪除帶有內容的鏈接。鏈接之間也是文字。在php中使用正則表達式

+1

這個問題還不夠清楚。 – kiamlaluno 2010-07-07 13:38:25

回答

0

雖然正則表達式可以用來做到這一點,但它們很容易出現問題。一個更強大的解決方案是使用DOM extension或另一個HTML解析器來刪除有問題的a元素。或者所有的a元素,就此而言。如果你真的想用正則表達式來做到這一點,下面應該工作:

preg_replace('/<A (.*?)>(.*?)</A>/i', '', $data); 
+0

正如你所說,這個正則表達式會有問題並且會中斷(例如'',或者甚至'...') – Piskvor 2010-07-07 13:44:47

+0

修復了正則表達式,它現在不會輕易破解。雖然這是一個次優的解決方案(我在答案中指出),但它完成了工作,所以我並不認爲需要downvote。 – You 2010-07-07 13:53:06