RegEx - 根据链接文本删除HTML超链接

时间:2010-03-19 04:23:07

标签: c# html regex

我有一些文本中有HTML超链接。 我想删除超链接,但只删除特定的超链接。

e.g。我从这开始:

This is text <a href="link/to/somewhere">Link to Remove</a> and more text with another link <a href="/link/to/somewhere/else">Keep this link</a>

我希望:

This is text and more text with another link <a href="/link/to/somewhere/else">Keep this link</a> 

我有这个RegEx表达式,

<a\s[^>]*>.*?</a>

...但它匹配所有链接。

我需要添加到该表达式以仅匹配链接文本中的“删除”(例如)中的链接?

提前谢谢。

3 个答案:

答案 0 :(得分:1)

你可能会得到很多反馈,不要在HTML上使用正则表达式......但如果你决定使用正则表达式,请试试这个:

 <a\s[^>]*>.*?Remove.*?</a>

这是“删除”位于链接文本中的某处。

答案 1 :(得分:0)

$str=~/(.*)<a.*<\/a>([a-z ]+ <a.*<\/a>)/;
print "$1$2";

答案 2 :(得分:0)

(。*?)&LT;?A * [RR] EMOVE * A&GT;(。*)

重建:$ 1 $ 2