Регулярка на добавление класса в изображение

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

NetStranger

Постоялец
Регистрация
16 Сен 2008
Сообщения
124
Реакции
1
Помогите составить функцию по замене ссылок на изображения в тексте статьи с
<a href='/adasd/sadasd'><img src='/sdfsdf/sf.jpg'></a>
на
<a href='/adasd/sadasd' class='thickbox'><img src='/sdfsdf/sf.jpg'></a>
Но нужно не забыть что только для изображений, чтобы простые ссылки не менялись. Вот у меня есть шаблон на изменение внешних ссылок чтобы добавлялось target='_blank' .

Код:
$host = str_replace('www.', '', getEnv('HTTP_HOST'));
    $host = str_replace('.', '\.', $host);
    $string = preg_replace('/href="?(http:\/\/(?!(www\.|)'.$host.')([^">\s]*))/ie',
                "'href=\"\$1' . '\"  target=\"_blank'", $string);
    return $string;


А для картинок, не могу сообразить((( хелп плиз
 
попробуйте так
PHP:
$page_body = preg_replace('/(<a[^>]+href=\'[^\']+\')([^>]*><img[^>+]src=\'[^\']+\.jpg\'><\/a>)/si', "\\1 class='thickbox' \\2", $page_body);
 
попробуйте так
PHP:
$page_body = preg_replace('/(<a[^>]+href=\'[^\']+\')([^>]*><img[^>+]src=\'[^\']+\.jpg\'><\/a>)/si', "\\1 class='thickbox' \\2", $page_body);

я бы сделал так

PHP:
$page_body = preg_replace('/(<a[^>]+href=[\'"][^\']+[\'"])([^>]*><img[^>+]src=[\'"][^\']+\.jpg[\'"]><\/a>)/si', "\\1 class='thickbox' \\2", $page_body);

ковычки могут быть и двойные
 
спасибо! то что надо, а теперь можете еще помоч, надо как то заставить чтобы они не перекликались эти две регулярки, а то получается что в картинку добавляется приставка если это картинка со внешней ссылкой
Код:
 $query[0]['text'] = preg_replace('/href="?(http:\/\/(?!(www\.|)'.$host.')([^">\s]*))/si',
                "'href=\"/away.php?to=\\1\"  target=\"_blank'", $query[0]['text']);
и
Код:
$query[0]['text'] = preg_replace('/(<a[^>]+href=[\'"][^\']+[\'"])([^>]*><img[^>]+src=[\'"][^\']+\.(JPG)|(jpg)|(PNG)|(png)[\'"][^>]+\/><\/a>)/si', "\\1 class='thickbox' \\2", $query[0]['text']);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху