2010-07-07 76 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