使用Cheerio

时间:2018-11-19 11:11:06

标签: node.js cheerio

我有一个正在使用Cheerio库处理的HTML代码,我需要删除标记“ http://www.example.com'> example”的引用域的链接(在本例中为“ http://www.example.com“),而不是其他链接。另外,在删除链接标签的情况下,必须维护包含它的关键字。

示例来源:

Lorem ipsum dolor sit amet,consectetur敬请奉公,敬告eiusmod tempor incididunt ut labour et dolore magna aliqua。尽量不要抽烟,不要因抽烟而锻炼。 Duis aute irure dolor in reprehenderit in volttable velit esse cillum dolore eu fugiat nulla pariatur。不会出现意外的圣人,反而会在犯规的情况下动手动手。

结果示例:

Lorem ipsum dolor坐下,奉献己任,sius do eiusmod tempor incididunt ut Labore et dolore magna aliqua。尽量不要抽烟,不要因抽烟而锻炼。 Duis aute irure dolor in reprehenderit in volttable velit esse cillum dolore eu fugiat nulla pariatur。不会出现意外的圣人,反而会在犯规的情况下动手动手。

谢谢!

2 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法:

$('a').each(function() {
    if ($(this).attr("href").indexOf('example.com') > -1) {
        $(this).replaceWith($(this).html());
    }
});

如果我使用.remove()函数,它将删除完整标签,但是使用此解决方案,它将仅删除href属性中包含 example.com 的链接标签。

我希望这对其他具有相同挑战的人有所帮助。 ;)

答案 1 :(得分:0)

听起来像您想要的

$('a[href*="www.example.com"]').remove()

$('a[href*="www.example.com"]').each((i, a) => $(a).replaceWith($(a).text()))