【发布时间】:2015-01-08 12:16:43
【问题描述】:
我尝试使用正则表达式从 html 字符串中删除特定链接。
我有一个这样的 html 字符串:
<a href="http://linkA.com/fdfdfdf">use this</a> to make this <a href="http://linkB.com/fdsfds">happen</a>
最后我希望它看起来像这样:
<a href="http://linkA.com/fdfdfdf">use this</a> to make this happen
我尝试了很多模式。起初我通过这个删除了所有href:
</?a(|\s+[^>]+)>
然后我尝试了很多正则表达式:
<a\s+(?:[^>]*?\s+)?href="linkB.com([^"]*)
/<a[^>]*href="http\:\/\/linkB.com([^"]*)"[^>]*>.*<\/a>/
<a href="[^"]*?linkB*?">.*?</a>
<a\s.*?href=["']([^"']*?linkB[^"']*?)[^>]*>.*?<\/a>
(?=.*href=\"([^\"]*linkB[^"]*)")<a [^>]+>
<a[^>]*puustelli[^>]*>[^<]*<\/a>
他们都没有做我需要做的事情。魔术需要通过仅查找 url 的域部分来发生。我希望所有指向 linkB 的链接都消失,但保留锚文本。
【问题讨论】:
-
You are parsing Html The Cthulhu Way 为什么不用
Html Agility Pack?