查找并替换大量<a> tags, but the url are different? Is there some way to do it?</a>

时间:2012-11-26 21:31:51

标签: html replace

我有一个需要修复的页面..

我需要摆脱成千上万<a><a href="kl1j23l123l12j3">标记,但问题是每个<a>标记都有不同的网址(href属性)。所以,我想知道是否有一些先进的方法来摆脱整个锚/链接,但保留链接文本,因为这将节省我很多时间。

示例

Input : <a href="http://www.stackoverflow.com">StackOverflow.com</a>
Output: StackOverflow.com


感谢。

2 个答案:

答案 0 :(得分:0)

也许这是一个使用JavaScript和jQuery的解决方案。它也可以调整为仅获取不以http开头的链接值。根据问题中的链接,我不太确定这是否相关。

// get all links within the document
​var links = $('a');

// simply get all link texts
var x = links.text();​​​​​​

// or just get all links that are like 'kl1j23l123l12j3' as they don't start with 'http'
var x = links.filter('[href^=http]').text();

以下是演示:http://jsfiddle.net/rg3ET/

而不是将它们全部一起应用到一个变量(“x”)中,您当然可以遍历它们并单独输出它们。

答案 1 :(得分:0)

以下内容可以假设每个锚标记都在自己的行上。

示例:

<a href="myref">asdf</a>
<div>
</div>
<a href="myref2">asdf2</a>

Notepad++具有正则表达式查找和替换功能,可能适合您的需要。

  1. 将所有</a>代码替换为
  2. 使用正则表达式查找所有<a href="anything">并替换为空。
  3. 下图显示了我为第2步所做的操作。您可以看到我使用了<a .*>的正则表达式。为了使其正常工作,每行应该只有一个>个字符。否则,正则表达式将进行尽可能长的匹配,可能包括一堆其他标记。这就是为什么我说这个程序只适用于各自就行的锚标签。

    Step 2 Find and Replace

    如果您看不到图像(再次,这只能起作用:

    1. 来自Notepad ++菜单:搜索&gt;取代
    2. 选择正则表达式
    3. 查找内容框中,添加<a .*>
    4. 点击全部替换