2013-04-17 238 views
-1

我解析了我网站上的各种html页面。我想删除一些特定的'a'标签。 全部标签是这样的:从html中删除特定的标签

<a href="#cite-note-2"><span>..</span></a> 
<a href="#cite-sub">....</a> 

所以我想是去除所有标签一个在HREF与#cite

开始请建议一些正则表达式在PHP。感谢

+0

没有。在HTML上使用正则表达式,特别是操纵,是一个坏主意。改为使用[DOM](http://php.net/dom)。 –

+0

正则表达式通常适用于从包含尖括号的文本中提取(而不是解析)。然而,他们不适合新人。如果你不知道正则表达式,你不应该尝试它。此外,不要要求互联网提供魔术黑盒子代码。 - 更简单的解决方案是phpQuery或QueryPath;但是,是的,你仍然需要一些研究。 – mario

回答

0

试试这个正则表达式:

'/<a[\s]{1,}href=[\'"]\#cite.*?[\'"].*?>.*?<\/a>/ims'

例如:

$a = preg_replace('/<a[\s]{1,}href=[\'"]\#cite.*?[\'"].*?>.*?<\/a>/ims', '', $a);

+0

感谢一吨。此外,你可以链接我到一个可靠的网页,我可以学习如何建立自定义RegEx? –

+0

嗯。我收到了一些您可能感兴趣的文档。在我的临时电子邮件地址[email protected]发邮件给我。我会回复文件。 –