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

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

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

 

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

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

тема: Находим картинки и удаляем ссылки
 
 автор: Night_Charter   (22.02.2008 в 15:56)   письмо автору
 
 

Здравствуйте ув. господа.
Вопрос следующего плана:
Например есть текст (его можно не читать):

Успех Hummer, его надежность и гениальность конструкции сделали свое дело — появилось немало подражаний. Среди них — японский Toyota MegaCruiser, схожий по компоновке, но имевший полноуправляемую конструкцию. Китайцы же скопировали Humvee дважды — до сих пор в КНР производятся Dongfeng Motors Eastwind EQ2050 и SAC SFQ2040, внешне трудно отличимые от американского прообраза.

1 - Например в этом тексте есть ссылка:
<a href='somepaga.php' target='blank' class='test'>Успех Hummer</a>

Необходимо удалить теги ссылки и оставить только текст "Успех Hummer".
Таких ссылок может быть 5, может 10 а может всего одна.

2 - необходимо найти в этом тексте картинки
<img src=./bla-bla.jpg border='0'>
Картинок тоже может быть от 1-й до 10-ти.

Помогите составить регулярки, чтобы они срабатывали в 99% процентов случаев, у кого какие соображения?
Заранее благодарен.

   
 
 автор: Faraon   (22.02.2008 в 16:16)   письмо автору
 
   для: Night_Charter   (22.02.2008 в 15:56)
 

На счет первого то как-то так, а с картинками то чего делать? Тоже удалить?
<?php
$t
="<a href='somepaga.php' target='blank' 
class='test'>Успех Hummer</a> , его надежность и 
гениальность конструкции сделали свое дело — появилось 
немало подражаний. Среди них — японский Toyota MegaCruiser, 
схожий по компоновке, но имевший полноуправляемую 
конструкцию. Китайцы же скопировали Humvee дважды — до сих 
пор в КНР производятся Dongfeng Motors Eastwind EQ2050 и 
SAC SFQ2040, внешне трудно отличимые от американского 
прообраза."
;
$t=preg_replace("#<a[^>]+>|</a>#is","",$t);
print 
$t;
?>


P.S Для удаления всех тегов, или удаление тегов (кроме) некоторых можно воспользоваться функцией strip_tags();

   
 
 автор: kasmanaft   (22.02.2008 в 16:19)   письмо автору
 
   для: Night_Charter   (22.02.2008 в 15:56)
 

Для первого можно составить что-то вроде: /<a\s.*?>(.*?)</a>/is, заменять на "$1".

Что значит найти картинки? УРЛ?: /<img\s[^>]*src=["']?(.*?)['"]?.*?>/, урл будет лежать в "$1".
(какие-то из кавычек надо будет экранировать)

Если остальные атрибуты в тегах существенны, просто добавте их в выражения..

   
 
 автор: Night_Charter   (23.02.2008 в 15:48)   письмо автору
 
   для: kasmanaft   (22.02.2008 в 16:19)
 

Спасибо, со сслыками разобрался
Что касается картинок, тут немного сложнее
1 - находим в тексте картинку
2 - получаем адрес ее хранения (на удаленном сервере)
3 - сохраняем картинку себе на жесткий диск, можно воспользоватся функцией file_get_contents();
4 - вставляем катинку с моим веб-путем вместо найденной
Это реально? :)

   
Rambler's Top100
вверх

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