PREG_MATCH Проблема - PullRequest
       2

PREG_MATCH Проблема

0 голосов
/ 31 июля 2011
preg_match("/<img onClick='this\.style\.maxWidth=\"490px\"; this\.style\.maxHeight=\"490px\";
this\.style\.cursor=\"default\";' style='cursor: pointer; display: block; float: left; max-width: 
490px; max-height: 160px;' src='(.)+'><br style='clear: left;'>/",$CONTENT,$MATCHES);
print_r($MATCHES);

Почему это не получает источник изображения?

Ответы [ 2 ]

4 голосов
/ 31 июля 2011

Рассмотрим вариант написания src='(.+)' вместо src='(.)+'

2 голосов
/ 31 июля 2011

Вы можете пропустить много всего этого и просто сказать

preg_match("/<img.*?src='([^']*)'/i", $content, $matches);

$matches[1] будет URL-адрес источника

(До того, как комментарии выйдут из-под контроля: это основано на исходном шаблоне в вопросе. Он не соответствует атрибутам в двойных кавычках, потому что исходный шаблон тоже не соответствует. И это также не общее решение. Он будет искать 1 правильно сформированный тег img, вот и все)


Кроме этого:

  • Встроенный CSS?!
  • Встроенные обработчики событий ?!
  • Одинарные кавычки вокруг атрибутов?! упс! Неправильно об этом! Извинения

Ничего из этого не хорошо!

...