Удаление строк

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

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
В переменной $html разный текст, помогите, пожалуйста, удалить тэг img, если в атрибуте src этого тэга нет http://
 
Примерчик
PHP:
$html = <<< KKKKKK
<img src="http://asfwe.bla">
fsdf
<img src="httasfwe">
afwfewefwef
<img src="/h/ttsfwe">
fwefdf
<img src="http://asfwe.com">
KKKKKK;

echo "$html\r\n\r\n";

preg_match_all('#<img .*?>#si', $html, $matches);
foreach($matches[0] as $v)
if(!preg_match('# src\s*=\s*[\'"]http://#si',$v))
$html = str_ireplace($v, '', $html);

echo $html;
 
Код:
preg_match_all('#<img .*?>#si', $html, $matches);
лучше заменить на
Код:
preg_match_all('#<img [^>]+>#si', $html, $matches);
 
Думаю в данном случае кроме регулярных выражений можно использовать (для меньшей нагрузки) также функцию strip_tags('img');
 
тоже вариант :)
но мне почему-то всегда проще регулярками резать
 
Думаю в данном случае кроме регулярных выражений можно использовать (для меньшей нагрузки) также функцию strip_tags('img');
Красиво и просто :) Но у топикстартера задача - резать именно с определенным src
 
или еще так, одной регуляркой

PHP:
$html=preg_replace('#(<img[^>]*http://[^>]*>)|<img[^>]*>#i','$1',$html);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху