Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使链接不可与正则表达式链接,除非来自特定域_C#_Asp.net_Regex_Hyperlink - Fatal编程技术网

C# 使链接不可与正则表达式链接,除非来自特定域

C# 使链接不可与正则表达式链接,除非来自特定域,c#,asp.net,regex,hyperlink,C#,Asp.net,Regex,Hyperlink,我想写一个正则表达式,它将使链接不可链接-只需删除href html标记并将链接url保留为文本。因此,如果只留下url,它将忽略锚文本 但是,如果链接不是来自某个域,那么这个正则表达式应该会使链接不可用。我想把这个用于我的私人信息系统 所以正则表达式将执行以下操作 如果链接不是以特定域为目标,请创建链接url文本。忽略给定的锚文本 asp.net 4.0,C#4.0 范例 <a href="http://www.monstermmorpg.com/" target="_blank">

我想写一个正则表达式,它将使链接不可链接-只需删除href html标记并将链接url保留为文本。因此,如果只留下url,它将忽略锚文本

但是,如果链接不是来自某个域,那么这个正则表达式应该会使链接不可用。我想把这个用于我的私人信息系统

所以正则表达式将执行以下操作

如果链接不是以特定域为目标,请创建链接url文本。忽略给定的锚文本

asp.net 4.0,C#4.0

范例

<a href="http://www.monstermmorpg.com/" target="_blank">My domain</a>


这将被解析为
http://www.monstermmorpg.com/
它将是文本

类似的东西在jQuery上工作:

$(document).ready(removeLink("domain.com"));

function removeLink(domain)
{
   $('a').each(function(){
       if($(this).attr("href")!=null)
       if($(this).attr("href").indexOf(domain)>=0)
           $(this).removeAttr("href");
})
}
说明:

获取呈现的HTML中的所有锚元素,对这些锚元素进行迭代,并删除包含domain.com的所有锚元素的超链接的
href
属性


与所有与正则表达式相关的查询一样,请发布要测试的样本数据以及预期结果。不要使用正则表达式解析HTML!事实上,它将删除所有链接,除非给出一个。谢谢评论。我解决了htmlagilitypack:)的问题,但jquery也可以工作。@MonsterMMORPG我的“更新”显然有一个bug。JSFIDLE有时速度太慢,以至于您认为它运行了您的脚本,并且它工作了,但实际上它没有。我最初的例子确实很好用。我用几个超链接更新了链接,甚至在同一个域上更新了不同的路径,效果很好。