PHP - удалить <img> тег из строки

Эй, мне нужно удалить все изображения из строки, и я просто не могу найти правильный способ сделать это.

Вот что я попробовал, но это не работает:

preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;

Есть идеи?

 Daniel Sloof10 июл. 2009 г., 03:08
$ content = preg_replace (..., $ content);
 Battle Hawk04 февр. 2019 г., 10:03
ты можешь использоватьtxt2re.com сформулировать регулярное выражение. Обычно я использую это, и после этого, изменяю код согласно моей потребности.

Ответы на вопрос(7)

Вам необходимо присвоить результат обратно$content какpreg_replace не изменяет исходную строку.

$content = preg_replace("/<img[^>]+\>/i", "(image) ", $content);

Шон, все работает нормально, я только что использовал этот код

$content = preg_replace("/<img[^>]+\>/i", " ", $content); 
echo $content;

// результат - это только простой текст. Оно работает!!!

Решение Вопроса

Попробуйте сбросить\ напротив>.

Изменить: я только что проверил ваше регулярное выражение, и он работает нормально. Это то, что я использовал:

<?
    $content = "this is something with an <img src=\"test.png\"/> in it.";
    $content = preg_replace("/<img[^>]+\>/i", "(image) ", $content); 
    echo $content;
?>

Результат:

this is something with an (image)  in it.
 22 мая 2018 г., 01:05
Попробуйте опустить \ перед & gt ;.preg_replace("/<img[^>]+\>/i", "(image) ", $content); Чем это отличается от реального вопроса?
 08 авг. 2013 г., 01:04
Можете ли вы сделать это, кроме (изображения), он заменит альтернативный образ?
$this->load->helper(',security');
$h=mysql_real_escape_string(strip_image_tags($comment));

Если пользовательский ввод

<img src="#">

В таблице базы данных просто вставьте символ этого #

Работает для меня

Я хотел отобразить первые 300 слов новостного сюжета в качестве предварительного просмотра, что, к сожалению, означало, что если в истории было изображение в первых 300 словах, то оно отображалось в списке предварительных просмотров, которые действительно не соответствовали моему макету. Я использовал приведенный выше код, чтобы скрыть все изображения из строки, взятой из моей базы данных, и это прекрасно работает!

$news = $row_latest_news ['content'];
$news = preg_replace("/<img[^>]+\>/i", "", $news); 
if (strlen($news) > 300){
echo substr($news, 0, strpos($news,' ',300)).'...';
} 
else { 
echo $news; 
}
 17 февр. 2016 г., 17:02
Комментарии используют мини-форматирование Markdown:link italic bold code, Автор сообщения всегда будет уведомлен о вашем комментарии. Чтобы также уведомить предыдущего комментатора, укажите его имя пользователя:

Я бы предложил использоватьstrip_tags метод.

 20 мар. 2018 г., 13:35
Это полоскиall теги, не только теги img.

просто используйте класс form_validation для codeigniter:

strip_image_tags($str).

$this->load->library('form_validation');
$this->form_validation->set_rules('nombre_campo', 'label', 'strip_image_tags');
 13 июл. 2015 г., 08:22
Он сказал, что он использует CodeIgniter?

Ваш ответ на вопрос