Удалите тег ссылки, у которого есть какой-то URL с помощью Cheerio - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть HTML-код, который я обрабатываю с помощью библиотеки Cheerio. Мне нужно удалить тег «http://www.example.com'> example» для ссылок, которые ссылаются на домен (в данном случае «http://www.example.com"), но недругие ссылки. Кроме того, в случае удаления метки ссылки необходимо сохранить ключевое слово, которое содержит ее.

Пример происхождения:

Lorem ipsum dolorsit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнениеin volptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat непроизвольно, иск в виноватом виновнике.*

Lorem Ipsum Dolor Sit Amet, Concetetur Adipiscing Elit, Sed do EiusMod Tempor Inididunt UT Labore et Dolore Maгна аликваUt enim ad minim veniam, упражнение в полном объемеDuis aute irure dolor в репереендерите в завитке Velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat непроизведенный, иск в виновном виновнике, мольит аним, т. Н. Labour.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Я нашел решение своей проблемы:

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

Если я использую функцию .remove(), это удаляет полный тег, но с этим решением он удаляет только тег ссылки, который содержит example.com в атрибуте href.

Надеюсь, это поможет другим людям с такими же проблемами. ;)

0 голосов
/ 20 ноября 2018

Звучит так, как вы хотите:

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

или

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