2012-05-18 2 views
0

Я пытаюсь найти первое изображение из контента. Использование RegexRegex найти изображение из содержимого

<imgs+((width|height|border|classs|id|src|usemap|hspace|vspace)=”[^"]+”s*)+> 

Функция используется как

<?php 
$content="<img src='s' height='20' >"; 

preg_match("/<imgs+((width|height|border|classs|id|src|usemap|hspace|vspace)=”[^"]+”s*)+> 
/" ,$content,$matches); 
var_dump($matches); 
?> 

Но я получаю ошибку синтаксиса. Я хочу обрабатывать все возможные случаи для тегов img, как это можно сделать? Мне нужен атрибут src тега.

+0

Это кавычки? «? Не хотите? – paulslater19

+0

imgs +? Это неверно. img/s +, вы, вероятно, имели в виду. –

+0

Используйте какую-то библиотеку разбора HTML. Вы не можете использовать регулярное выражение для анализа HTML: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags –

ответ

0

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

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

+0

Я знаю, я хотел бы обрабатывать как можно больше случаев для создания. –

Смежные вопросы