Intereting Posts
Как отслеживать по номеру отслеживания уникальный идентификатор? Не выводить сообщения об ошибках формы Предупреждение: strpos () : пустой разделитель в инструкции foreach SUBSTR (). Добавить символы для каждого n цифр Захват ошибок компиляции регулярных выражений Измените размер изображения в соответствии с размером текста imagettftext (): рассчитать размер шрифта, чтобы текст соответствовал ширине изображения Как вытащить определенные значения ключа из массива внутри массива PHP сортирует массив массивов в соответствии с индексом в массивах Предоставляет ли Aptana 3 плагин PHP так же хорошо, как Aptana 1.5.1? Лучший вариант для вызова функциональности модели в контроллере PHP Как включить () все файлы PHP из каталога? PHP-HTML-парсинг :: Как можно взять значение кодировки веб-страницы с помощью простого анализатора html dom? PHP-скрипт для извлечения исполнителя и заголовка из потока Shoutcast / Icecast Значения котировок, вызывающие ошибку на странице

Как удалить ссылку из содержимого в php?

Как я могу удалить ссылку и остаться с текстом?

text text text. <br><a href='http://www.example.com' target='_blank' title='title' style='text-decoration:none;'>name</a> 

как это:

 text text text. <br> 

У меня все еще есть проблема …..

 $text = file_get_contents('http://www.example.com/file.php?id=name'); echo preg_replace('#<a.*?>.*?</a>#i', '', $text) 

в этом URL-адресе был этот текст (со ссылкой) …

этот код не работает …

что не так?

Кто-нибудь может мне помочь?

Я предлагаю вам сохранить текст в ссылке.

 strip_tags($text, '<br>'); 

или трудный путь:

 preg_replace('#<a.*?>(.*?)</a>#i', '\1', $text) 

Если вам не нужно сохранять текст в ссылке

 preg_replace('#<a.*?>.*?</a>#i', '', $text) 

В то время как strip_tags() способна к базовой дезинфекции строк, это не является доказательством дурака. Если данные, которые необходимо фильтровать, поступают от пользователя, и особенно если они будут отображаться обратно другим пользователям, вы можете захотеть изучить более полный дезинфицирующее средство HTML, например, HTML-очиститель . Эти типы библиотек могут сэкономить вам много головной боли в дороге.

strip_tags() и различные методы regex не могут и не будут останавливать пользователя, который действительно хочет что-то ввести.

Пытаться:

 preg_replace('/<a.*?<\/a>/','',"test test testa<br> <a href='http://www.example.com' target='_blank' title='title' style='text-decoration:none;'>name</a>"); 

strip_tags() будет лишать HTML-теги.

это мои решения:

 function removeLink($str){ $regex = '/<a (.*)<\/a>/isU'; preg_match_all($regex,$str,$result); foreach($result[0] as $rs) { $regex = '/<a (.*)>(.*)<\/a>/isU'; $text = preg_replace($regex,'$2',$rs); $str = str_replace($rs,$text,$str); } return $str;} 

dang tin rao vat

Еще одно короткое решение без регулярных выражений:

 function remove_links($s){ while(TRUE){ @list($pre,$mid) = explode('<a',$s,2); @list($mid,$post) = explode('</a>',$mid,2); $s = $pre.$post; if (is_null($post))return $s; } } ?> в function remove_links($s){ while(TRUE){ @list($pre,$mid) = explode('<a',$s,2); @list($mid,$post) = explode('</a>',$mid,2); $s = $pre.$post; if (is_null($post))return $s; } } ?> , function remove_links($s){ while(TRUE){ @list($pre,$mid) = explode('<a',$s,2); @list($mid,$post) = explode('</a>',$mid,2); $s = $pre.$post; if (is_null($post))return $s; } } ?>