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

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

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

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

Есть идеи?

Попробуйте сбросить \ перед > .

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

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

Результат:

 это что-то с (изображением) в нем.

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

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

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

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

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

// результат – это только обычный текст. Оно работает!!!

Я хотел отобразить первые 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; } 
 $this->load->helper('security'); $h=mysql_real_escape_string(strip_image_tags($comment)); 

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

 <img src = "#">

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

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

 $content = strip_tags($content, '<img>'); 

является более чистым и простым способом

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

 strip_image_tags($str). $this->load->library('form_validation'); $this->form_validation->set_rules('nombre_campo', 'label', 'strip_image_tags');