0

我的应用程序从我的网站动态获取 HTML 代码并将其保存为字符串。

这是一个例子:

Lorem ipsum <a href="http://www.google.com">Click Here</a>
Lorem ipsum <a href="http://www.google.com">Click Somewhere</a>
Lorem ipsum <a href="http://www.google.com">sdfsdf</a>
Lorem ipsum <a href="http://www.google.com">djmhfhb</a>
Lorem ipsum <a href="http://www.google.com">fgbnfgn</a>

我现在需要的是一个脚本,它获取所有标签并将它们的 innerHTML 替换为“LINK”。结果应该是:

Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>
Lorem ipsum <a href="http://www.google.com">LINK</a>

我通常会像这样使用 jQuery:

$(a).html = "Link"

但我不想删除应用程序中链接的 innerHTML,而是删除包含我网站 HTML 的字符串内的链接。

我不使用 PHP。我使用任何可以帮助我的 JS。有任何想法吗?非常感谢您的帮助!

4

5 回答 5

0

这就是你使用 jQuery 的方式:

$('a').text('LINK');
于 2013-05-24T11:46:17.970 回答
0

使用 jQuery 的.text()

例如:

$("a").text("LINK");
于 2013-05-24T11:47:47.933 回答
0

不清楚为什么您不想在您的应用程序中使用 jQuery .html() 或 .text() 而是操作包含 html 的字符串?

这样做需要像这样的某种正则表达式模式

var pattern = "<a .*?href=['""](.+?)['""].*?>(.+?)</a>";

然后使用 string.Replace 传入一个 RegExp 对象

就像是

var regex = new RegExp(pattern);
"yourString".replace(regex , "LINK");
于 2013-05-24T12:06:03.260 回答
0

在 js 脚本中尝试此代码在 anchar 标记上给出 id

<a href="www.google.com" id="hello" />Click<a>    

并像这样使用

$('#hello').html('LINK');

或者

$('a').text('LINK');
于 2013-05-24T11:48:25.133 回答
0

如果您将这些标记作为字符串而不是 DOM 片段,您可以试试这个:

http://jsfiddle.net/YVb5k/

var str="HTML markup";
if ((new DOMParser()).parseFromString("", "text/html")) {
    var html = (new DOMParser()).parseFromString(str, "text/html");
} else {
    var html = document.implementation.createHTMLDocument("");
    html.body.innerHTML = str;
}
var as = html.getElementsByTagName("a");
for (var i = 0; i < as.length; i++) {
    as[i].innerHTML = "LINK";
}
console.log(html.body.innerHTML);

不过,仅适用于 IE>=9。

于 2013-05-24T12:12:54.140 回答