|
|
|
|
|
для: 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];
}
}
?>
|
| |
|
|
|
|
|
|
| Мне нужно убрать из текста все ссылки которые в якоре не имеют <img
Пример текста:
<a href="#">текстовая ссылка</a> - нужно удалять
<a href=""><img src="http://"></a> - не нужно удалять
|
Заранее спасибо большое! ) | |
|
|
|
|