|
|
|
| Добрый день!
Регулярное выражение по поиску ссылок с пераметром rel="sss" и изображения внутри ссылки, к примеру <a href="ссылка" rel="sss"><img src="путь"></a>
Само выражение получилось такое:
$pattern = "|(<a[^>]+rel=\"sss\"[^>]*><img[^>]+src=\"([^\"]+)\")|is";
Но еще нужно учесть, тот факт, что между тегами <a> и <img> может быть текст или другие теги.
Как это учесть?
Заранее благодарен. | |
|
|
|
|
|
|
|
для: Dimka31
(03.07.2011 в 12:57)
| | Попробуйте следующее выражение
$pattern = "|(<a[^>]+rel=\"sss\"[^>]*>.*?<img[^>]+src=\"([^\"]+)\")[^>]*>.*?</a>|is";
|
| |
|
|
|
|
|
|
|
для: cheops
(03.07.2011 в 13:32)
| | помогло, только допускаются и такие конструкции:
<a class="123" href="/image/products/Start_Steel_Blue_600.jpg" rel="sss"></a><img class="23" src="/image/categories/Young_Profi_Grey_Pepper_240.jpg"></a> | |
|
|
|
|
|
|
|
для: Dimka31
(03.07.2011 в 13:39)
| | Тут разумнее уже не усложнять регулярное выражение, а воспользоваться пост-обработкой, или preg_replace_callback(), если речь идет о замене. Или эти конструкции захватывают часть нужной строки? | |
|
|
|