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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите с preg_replace нужно указать условие.

Сообщения:  [1-2] 

 
 автор: cheops   (12.05.2011 в 11:19)   письмо автору
 
   для: AlexDIXI   (11.05.2011 в 22:48)
 

В этом случае обычно прибегают к функции preg_replace_callback(). Можно отталкиваться от следующего скрипта
<?php
  $text 
'<a href="#">текстовая ссылка</a> - нужно удалять  
  <a href=""><img src="http://"></a> - не нужно удалять'
;
  
$pattern "|<a\s+href=\"(.*?)\">(.*?)</a>|is";
  
$text preg_replace_callback($pattern"replace"$text);
  echo 
$text;

  function 
replace($match)
  {
    
$pattern "|<img[^>]+>|is";
    if(
preg_match($pattern$match[2]))
    {
      
// Изображение выводим как есть
      
return "<a href=\"{$match[1]}\">{$match[2]}</a>";
    }
    else
    {
      
// Текстовая ссылка
      
return $match[2];
    }
  }
?>

  Ответить  
 
 автор: AlexDIXI   (11.05.2011 в 22:48)   письмо автору
 
 

Мне нужно убрать из текста все ссылки которые в якоре не имеют <img

Пример текста:

<a href="#">текстовая ссылка</a> - нужно удалять 
<a href=""><img src="http://"></a> - не нужно удалять


Заранее спасибо большое! )

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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