Как изменить rel на nofollow с помощью Regex - C#
Я хочу изменить некоторые 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 ответ
Я решил это и выложил свое решение для всех, у кого такой же вопрос.
просто сделай это
(<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\">")
надеюсь это будет полезно