Помогите подправить регулярное выражение

Статус
В этой теме нельзя размещать новые ответы.

JStatham

Создатель
Регистрация
30 Июн 2009
Сообщения
15
Реакции
0
Регулярное выражение
Код:
$story = preg_replace ('#<a.*?href=.*?><img.*?src=\\"(.+?)\\".*?></a>#mi', '[IMG]\\1[/IMG]', $story);
должно менять
Код:
<a href="qwe.ru"><img src="/qwe.jpg" /></a>
и т.п. на
Код:
[IMG]/qwe.jpg[/IMG]
а оно меняет и вот это все:
Код:
<a href="qwe1.ru">qwe1</a>
здесь любой текст.
<img src="/qweqwerrt.jpg" />
здесь любой текст.
<a href="qwe2.ru">qwe2</a>
на
Код:
[IMG]/qweqwerrt.jpg[/IMG]
Я не особо силен в рег.выр., поэтому прошу помощи подправить его.
 
оно меняет и вот это все:
Код:
<a href="qwe1.ru">qwe1</a>
здесь любой текст.
<img src="/qweqwerrt.jpg" />
здесь любой текст.
<a href="qwe2.ru">qwe2</a>
на
Код:
[IMG]/qweqwerrt.jpg[/IMG]
А у меня не меняет, проверял в RegexBuddy (хотя и на глаз видно, что вероятный текст между тэгами не учитывается). Или я не прав?
 
У меня также все работает как задумывалось.
Описанная регулярка не может менять указанный блок хотя бы из-за первой строки "здесь любой текст.", потому что в выражении четко указано отсутствие каких-либо символов между закрывающейся скобкой тега <a> и открывающейся тега <img>:

$story = preg_replace ('#<a.*?href=.*?><img.*?src=\\"(.+?)\\".*?></a>#mi', '
', $story);
 
эта регулярка из rss grabber'а для dle.
у мня после этого регэкспа в сграбленной новости все между первой и последней ссылкой, включая сами ссылки меняется на

а по поводу >< скажу что изображение такое(я видимо просто не полную информацию дал:(
Код:
<p align="center"><img src="/reviews/base/image/n97/n97pic8.jpg"></p>
Вот кстати вырезка из HTML страницы, которую пытаюсь сграббить:
Код:
<p>Определенная часть людей уже успела не только подержать в руках <a href="http://allnokia.ru/catalog/nokia-N97/">Nokia N97</a> от компании Nokia, но также испытать его возможности, изучить функциональные особенности и особенности внешности.
<p align="center"><img src="/reviews/base/image/n97/n97pic8.jpg"></p>
<p>Хорошая вещь стоит недешево, и <a href="http://allnokia.ru/catalog/nokia-N97/"><strong>Nokia N97</strong></a> полностью подтверждает эту известную истину: цена аппарата в настоящий момент колеблется в районе 28,5 тысяч рублей.
после использования регулярки получается это:
Код:
<p>Определенная часть людей уже успела не только подержать в руках [IMG]/reviews/base/image/n97/n97pic8.jpg[/IMG] полностью подтверждает эту известную истину: цена аппарата в настоящий момент колеблется в районе 28,5 тысяч рублей.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху