теги регулярных выражений - PullRequest
2 голосов
/ 22 июня 2010

Я хочу использовать регулярное выражение для получения URL-адреса из тега HTML-ссылки CSS из исходного кода HTML

например

<link rel="apple-touch-icon" href="http://sample.com/icons/apple-touch-icon.png">

любая помощь ??

1 Ответ

4 голосов
/ 22 июня 2010

Стандартный ответ: Не используйте регулярные выражения для чтения XML, особенно HTML.Используйте анализатор HTML.

Реалистичный ответ: если ввод, с которым вы работаете, является последовательным и предсказуемым , то это может работать для вас:

/<link\s+rel="([^"]*)"/

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

<link rel=apple-touch-icon>
<link rel='apple-touch-icon'>
<link href='...' rel='apple'>
<link
   rel="apple">
<link rel = "apple">

и т. Д. И т. Д. Вы могли бы попытаться расширить регулярное выражение для удовлетворения некоторых из них, ноВы попадете в мир боли.

edit : извините, я только что заметил, что вы хотели href.Вышесказанное все еще применимо, просто замените «rel» на «href», если необходимо.

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