C# 替换链接,替换多行不起作用
我想浏览所有 html 链接 (),并且我想仅用 href 值替换它们。 为此,我使用 HtmlAgilityPack 获取所有链接,然后尝试用 href 替换链接的任何外部 html。
result = result.Replace(l.OuterHtml, l.Text + " " + l.Href);
这适用于普通链接,但不适用于嵌入图像的长链接。 它适用于 www.domain.Net
但它不起作用
>
<a href="http://www.domain.net/property-details.aspx?state=50&search=yes&offset=0&page=2&offset=10&page=3&offset=20&page=4&offset=30&page=5&offset=40&page=6&pid=828"><image style="border: 1px solid #c99982; margin: 5px 0 0px 0;" src="http://domain.com/private/007jg5he/large_289572HESSEL_prop_photos_horse_areas_010-1" alt="Sebastopol" width="158" height="108" /></a>
那么我该如何解决这个问题呢?我只想显示带有 href 值的链接的文本部分。
I want to go through all html links (<a hef="" ><image/></a>
) and I want to replace them with only href values.
To do that I use HtmlAgilityPack to get all the links and then I try to replace any outer html of the link with the href.
result = result.Replace(l.OuterHtml, l.Text + " " + l.Href);
This works just fine with normal links but it is not working with long links that have images embedded in them.
It works for <a href="http://www.domain.net/">www.domain.Net<br /></a>
But it does not work for
<a href="http://www.domain.net/property-details.aspx?state=50&search=yes&offset=0&page=2&offset=10&page=3&offset=20&page=4&offset=30&page=5&offset=40&page=6&pid=828"><image style="border: 1px solid #c99982; margin: 5px 0 0px 0;" src="http://domain.com/private/007jg5he/large_289572HESSEL_prop_photos_horse_areas_010-1" alt="Sebastopol" width="158" height="108" /></a>
So how do I solve this? I want to show only the Text part of the link following with the href value.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里不需要(也不应该使用)正则表达式。这就是首先使用解析器的全部意义。
You don't need (nor should you use) regular expressions here. That's the whole point of using the parser in the first place.