Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Необходимо вырезать все картинки со страницы
 
 автор: Visavi   (27.01.2008 в 00:00)   письмо автору
 
 

Помогите пожалуйста составить регулярное выражение которое вырезает все картинки со страницы, у меня все картинки начинаются с <img src, а заканчиваются alt="">
Раньше использовал код такой

$img = eregi_replace("((<img src|alt)[-a-zA-Z0-9@:%_\+.~#?;&//=\()/\"\ />]+)","",$img);

все нормально только этот код вырезает то что идет дальше alt=""> если там к примеру латинские символы
или вырезает если где-то встречается слово alt

   
 
 автор: ЯR   (27.01.2008 в 00:44)   письмо автору
 
   для: Visavi   (27.01.2008 в 00:00)
 


<?php

$img 
preg_replace('/<img\s+(.*)alt="">/iU' ,'' ,$img);


так сработает, наверное

   
 
 автор: Visavi   (27.01.2008 в 00:52)   письмо автору
 
   для: ЯR   (27.01.2008 в 00:44)
 

Спасибо большое, все прекрасно работает

   
 
 автор: Visavi   (29.01.2008 в 17:12)   письмо автору
 
   для: ЯR   (27.01.2008 в 00:44)
 

Ребята, а вот возник еще один вопрос
к примеру если в строке с картинкой картинка может кончатся не на alt="">, а например на alt="" /> или alt="image"/> как тогда будет выглядеть регулярка

я написал так
$img = preg_replace('/<img\s+(.*)alt=(.*)>/iU','' ,$img); вроде как работает, правильно ли написано это регулярное выражение?

   
 
 автор: ЯR   (29.01.2008 в 23:38)   письмо автору
 
   для: Visavi   (29.01.2008 в 17:12)
 

В принципе, правильно, оно все картинки с атрибутом alt вырежет, можно тогда уж и без альта вырезать, по-моему:

<?php
$img 
preg_replace('/<img\s+(.*)>/iU','' ,$img);

   
 
 автор: Visavi   (29.01.2008 в 23:50)   письмо автору
 
   для: ЯR   (29.01.2008 в 23:38)
 

Хорошо спасибо, наверно так и сделаю

   
 
 автор: Faraon   (29.01.2008 в 23:52)   письмо автору
 
   для: Visavi   (29.01.2008 в 17:12)
 

$img = preg_replace('/<img[^>]+>/is','',$img);   

   
 
 автор: SHAman   (27.01.2008 в 01:02)   письмо автору
 
   для: Visavi   (27.01.2008 в 00:00)
 

А вообще, что подразумевается под вырезкой картинок? Что на выходе? Адреса или теги <img>?

Для тегов:
/<img .*?>/is


Для адресов:
<img.*?src=['"](.*?)['"].*?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования