`
njmnjx
  • 浏览: 234717 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

匹配html中的所有A标签并替换

阅读更多
匹配html中的A标签
<[aA]\s+((\w+\s*=\s*("([^"]*)"|'([^']*)'|([^'">\s]+))\s+)*)(href\s*=\s*("([^"]*)"|'([^']*)'|([^'">\s]+)))((\s+\w+\s*=\s*("([^"]*)"|'([^']*)'|([^'">\s]+)))*)\s*>(.*?)</[aA]\s*>

替换其中的链接到统计页面再跳转到真正的链接地址
       
protected void Unnamed1_Click(object sender, EventArgs e)
    {
        //正则
        Regex reg = new Regex("<[aA]\\s+((\\w+\\s*=\\s*(\"([^\"]*)\"|'([^']*)'|([^'\">\\s]+))\\s+)*)(href\\s*=\\s*(\"([^\"]*)\"|'([^']*)'|([^'\">\\s]+)))((\\s+\\w+\\s*=\\s*(\"([^\"]*)\"|'([^']*)'|([^'\">\\s]+)))*)\\s*>(.*?)</[aA]\\s*>");
        
        //输入内容
        string matchStr = TextBox1.Text;
 
        //此处可以完成任务(利用委托)
        MatchEvaluator myEvaluator = new MatchEvaluator(ReplaceCC);
        string aaa = reg.Replace(matchStr, myEvaluator);

        //最后结果
        Response.Write(aaa);
    }

//在这里单独处理每一个匹配项
    public string ReplaceCC(Match m)
    {
        string temp = m.Groups[9].Value + m.Groups[10].Value + m.Groups[11].Value;
        string g18 = m.Groups[18].Value;

        temp = "http://www.biaodashi.com?projectid=00000&userid=1111111&url=" + temp;

        return "<a " + m.Groups[1].Value + " href=\" " + temp + "\" " + m.Groups[12].Value + ">" + g18 + "</><br/>";
    }



实例:http://dl.iteye.com/topics/download/41e998cf-b147-3236-9c7e-c9573924b375
分享到:
评论

相关推荐

    匹配img标签_匹配src中的值

    正则表达式是一种模式匹配语言,可以用来在字符串中查找、替换或者捕获特定模式。 首先,我们来理解一下`&lt;img&gt;`标签的基本结构。一个标准的`&lt;img&gt;`标签通常如下所示: ```html 图像URL" alt="替代文本" width=...

    将HTML标签外的空格替换为&nbsp;

    `g`标志表示全局匹配,确保替换所有符合条件的空格。 替换操作对于某些特定场景尤其有用,比如在显示代码片段、诗歌、表格或者任何需要保持原始格式的地方。同时,这也是一种避免用户输入的空格在渲染时丢失的方法...

    JavaScript正则表达式匹配 div style标签

    在处理HTML文档时,经常会遇到需要从HTML代码中提取特定信息的情况,比如从一段字符串中匹配`&lt;div&gt;`和`&lt;style&gt;`标签。 在进行正则表达式匹配时,需要构建能够正确描述目标模式的正则表达式。对于`&lt;div&gt;`和`&lt;style&gt;`...

    简易正则替换html字符串中的文字(不影响标签属性)

    不影响标签属性的简易正则替换html字符串中的文字(原理为使用正则取出html中&gt;&lt;之间的内容 然后使用循环从其中匹配对应的内容进行替换)

    过滤字符串中的HTML标签

    - 第三个参数为空字符串`""`,表示将匹配到的所有HTML标签替换为空,即移除它们。 4. **返回值**: - 最终返回的是经过处理后的字符串`strTmp`。 #### 示例 假设我们有一个包含HTML标签的字符串: ```csharp ...

    java代码-正则去除HTML代码中的A标签

    `matcher.replaceAll("")`将所有匹配的A标签替换为空字符串,从而删除它们。 请注意,这种方法可能不适用于复杂的HTML,例如当A标签有内联样式或事件处理器时。在这种情况下,可能需要使用更复杂的解析器,如Jsoup...

    js 正则匹配(去掉html标签)

    这段代码使用了正则表达式`/&lt;[^&gt;]+&gt;/g`来匹配所有的HTML标签并将其替换为空字符串。其中,`和`&gt;`分别代表HTML标签的开始和结束符号,`[^&gt;]+`表示任何非`&gt;`的字符,`g`标志表示全局匹配,即匹配所有符合条件的部分。...

    Java中替换HTML标签的方法代码

    在Java编程语言中,处理HTML标签是常见的需求,特别是在数据清洗、文本提取或者邮件处理等场景。本篇文章将深入探讨如何使用Java中的`String`类提供的`replaceAll()`方法来替换HTML标签。 首先,我们来看一下给出的...

    ASP标签替换函数

    在这个函数中,我们创建了一个正则表达式对象,并设置了匹配HTML标签的模式。然后,我们调用`Replace()`方法执行替换操作。这个例子中,`oldTag`是待替换的标签名,`newTag`是新标签名,而`html`是包含HTML内容的...

    Java正则表达式如何匹配特定html标签内的内容

    需要注意的是,正则表达式匹配HTML内容可能存在一些问题,例如HTML标签属性的复杂性、标签嵌套、标签属性值内可能包含尖括号等问题可能会导致正则表达式的匹配结果不准确。因此,当处理复杂的HTML文档时,使用专门的...

    C# 过滤HTML标签的几种方法

    根据提供的文件信息,本文将详细解释C#中用于过滤HTML标签的几种方法,并对每一步进行深入解析。此过程涉及正则表达式、字符串替换以及HTML实体编码转换等技术细节。 ### C#过滤HTML标签的方法 #### 方法一:使用...

    将html文本中所有的标签替换掉的方法

    总结一下,将HTML文本中所有标签替换掉的方法主要依赖于正则表达式和Java的字符串处理。通过灵活调整正则表达式,我们可以根据需求选择性地去除特定类型的标签。然而,对于复杂的HTML处理,推荐使用专门的HTML解析库...

    去掉所有的html标签

    此方法的目标是移除这个字符串中的所有HTML标签,并返回一个只包含文本内容的新字符串。 #### 正则表达式解析 实现的核心在于正则表达式的使用:`replaceAll("\\*?&gt;","")`。这里的关键点包括: - `\\和 `\\&gt;` 分别...

    asp.net 正则表达式过滤所有html标签

    这里使用了一个简单的正则表达式`&lt;[^&gt;]*&gt;`来匹配并移除所有的HTML标签。下面我们来详细解析这个正则表达式的含义: 1. `匹配一个小于号。 2. `[^&gt;]`:匹配除了大于号(`&gt;`)之外的任意字符。 3. `*`:表示前面的...

    java正则匹配HTML中a标签里的中文字符示例

    最后,所有匹配到的中文字符会被添加到`StringBuilder`对象`character`中并返回。 在`main`方法中,我们调用了`matchChineseCharacters`方法,传入了一个包含多个`&lt;a&gt;`标签的字符串,输出了满足条件的中文字符。 ...

    PHP实现html标签补全函数

    在网页开发中,HTML是构建页面结构的基础,但有时由于编码错误或疏忽,开发者可能会遗漏某些HTML标签的闭合,导致页面显示不正常。PHP作为一种服务器端脚本语言,常用于处理动态网页内容,因此编写一个PHP函数来检查...

    Java 中 过滤Html标签

    正则表达式是一种字符串匹配模式,可以用来匹配Html标签。例如,下面的正则表达式可以匹配script标签: `String regEx_script = "&lt;[//s]*?script[^&gt;]*?&gt;[//s//S]*?&lt;[//s]*?///[//s]*?script[//s]*?&gt;";` 这个正则...

Global site tag (gtag.js) - Google Analytics