Как изменить rel на nofollow с помощью Regex - c # - PullRequest
0 голосов
/ 10 февраля 2019

я хочу изменить некоторые URL-адреса на nofollow, и я также хочу, некоторые URL-адреса dofollow

я пытаюсь сделать это с помощью этого регулярного выражения:

(<a\s*(?!.*\brel=)[^>]*)(href="https?://)((?!blogs.cc)[^"]+)"([^>]*)>

я могу поддержать один URL-адрес для dofollow(в этом бывшем: "blogs.cc")

, если я хочу добавить больше одного, что мне делать?я пытаюсь с:

(<a\s*(?!.*\brel=)[^>]*)(href="https?://)(((?!blogs.cc)[^"]+)||((?!wikipedia.org)[^"]+))"([^>]*)>

но я не получил правильный ответ

что решение?

1 Ответ

0 голосов
/ 10 февраля 2019

Я решил это и выложил свое решение здесь для всех, у кого такой же вопрос.

просто сделайте это

(<a\s*(?!.*\brel=)[^>]*)(href="https?://)((?!(?:blogs.cc|wikipedia.org|moreUrls.com))[^"]+))"([^>]*)>

C # Пример кода:

Regex.Replace(str, "(<a\\s*(?!.*\brel=)[^>]*)(href=\"https?://)((?!(?:blogs.cc|wikipedia.org))[^\"]+)\"([^>]*)>", "<a $2$3\" $4 rel=\"nofollow\">")

iнадеюсь, что это будет полезно

...