Найдите значения атрибута href, которые не содержат «javascript:» - PullRequest
0 голосов
/ 06 декабря 2009

У меня есть RegEx, который хорошо находит ссылки в URL:

<[aA][^>]*? href=[\"'](?<url>[^\"]+?)[\"'][^>]*?>

Однако я хочу, чтобы он НЕ находил ссылки, содержащие текст «javascript:» в нем.

Причина в том, что мне иногда нужно изменить href, а иногда нет. Когда в href есть текст 'javascript:', я хочу, чтобы регулярное выражение не нашло его.

(ASP.NET, C #)

Ответы [ 2 ]

2 голосов
/ 06 декабря 2009

Я бы действительно не рекомендовал использовать для этого регулярное выражение, поскольку HTML не является регулярным и нет крайних случаев, чтобы удовлетворить. Если это вообще возможно, пожалуйста, используйте анализатор HTML. Я думаю, вы найдете это намного меньше горя.

0 голосов
/ 06 декабря 2009

Слово javascript может быть написано другими способами. Посмотрите на статью ha.ckers.org . Простое исключение javascript слова не дает вам никакой безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...