sundance2001
Новичок
Регулярное выражение
Добрый день.
Столкнулся с задачкой: в HTML коде найти строки вида
<img name="item_100305" src="http://mywebsite.com/1000.10000.4000.000.jpg" border=0 alt="Description1" class="myclass">
<img name="item_444672" src="http://mywebsite.com/3400.1234.43240.044.jpg" border=0 alt="Description2" class="myclass">
и получить из каждой следующую инфо: id картинки, указанное в name и полный путь с названием (все, что в кавычках src="").
Делаю так:
скрипт ничего не находит. Пожалуйста, подскажите, где у меня ошибка?
Если задать паттерн так:
, то скрипт возвращает лишь значения $images[0][0] и $images[1][0], а значение $images[2][0] (ссылка на файл) - пустое.
Что-то, видимо, тоже не так.
Добрый день.
Столкнулся с задачкой: в HTML коде найти строки вида
<img name="item_100305" src="http://mywebsite.com/1000.10000.4000.000.jpg" border=0 alt="Description1" class="myclass">
<img name="item_444672" src="http://mywebsite.com/3400.1234.43240.044.jpg" border=0 alt="Description2" class="myclass">
и получить из каждой следующую инфо: id картинки, указанное в name и полный путь с названием (все, что в кавычках src="").
Делаю так:
PHP:
$data = file_get_contents("http://localhost/page.html");
$pattern = "~(?<=<img name=\"item_)([0-9]*)\" src=\"(http:\/\/[a-zA-Z0-9.\/]\.jpg)\" (?=border=0 alt=)~";
preg_match_all($pattern, $data, $images);
//смотрим результат
echo $images[0][0]."\n<br>".$images[1][0]."\n<br>".$images[2][0];
Если задать паттерн так:
PHP:
$pattern = "~<img name=\"item_([0-9]{3,})\" src=[\"']?([a-zA-Z\/]*)[\"']~";
Что-то, видимо, тоже не так.
