Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Полный разбор HTML тега IMG, Разобрать регулярным выражением PCRE 
:(
    Опции темы
Xezzus
Дата 7.10.2010, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



Условие, нужно разобрать тег картинки на адрес и описание если есть. Дело на самом деле элементарное.

Допустим так
Код

$html = '<img src="http://www.example.ru" alt="описание">';
$reg = "/<img.*?((?:alt|src)(?:=\"|='|=)(?:.*?)[\"']).*?((?:alt|src|)(?:=\"|='|=)(?:.*?)[\"']).*?/i";
    preg_match_all($reg,$html,$array);


Работает замечательно, по условию они и нужны картинки только с alt, так и получается в массиве картинки только с описанием, но стоит ввести в входные данные, что-то вроде 
Код

<img src=www.example.ru >


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

PM MAIL   Вверх
patap
Дата 10.10.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 5
Всего: 40



а ну посмотри, я так твое на скорую руку подредактировал, думаю должно отработать.
Код

<img\s+((?:alt|src)=["']?.*?["']?)(?:\s+)?(?:((?:alt|src|)=["']?.*?["'])(?:\s+)?)?>



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.