PHP: заменить строку из определенной строки на определенную строку

Как я могу заменить строку из определенной строки? См. Мой пример ниже.

$string_value="<b>Man one</b> <img src=\"http://img.ruphp.com/string/image1.jpg\">and <b>Man two</b> <img src=\"http://img.ruphp.com/string/img2.png\">"; 

Теперь мой ожидаемый результат = <b>Man one</b> and <b>man two</b>. только тег изображения должен быть удален.

Поэтому мне нужно вырезать полную строку из "<img" в ">" из строки $ string_value. Итак, как я могу отрезать полную строку между "<img" до ">" используя preg_replace или что-то еще.

Заменяющий параметр должен быть пустым.

Вы можете использовать регулярные выражения для исключения тегов IMG:

 <?php $text = "Man one <img src=\"http://img.ruphp.com/string/image1.jpg\">and Man two <img src=\"http://img.ruphp.com/string/img2.png\">"; $pattern = "/<img(.*?)>/i"; $replace = ''; print preg_replace($pattern,$replace,$text); ?> 

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

 $string_value = strip_tags($string_value); 

РЕДАКТИРОВАТЬ:

Поскольку вы хотите удалить только тег <img , вы можете использовать эту функцию :

 function strip_only($str, $tags) { if(!is_array($tags)) { $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags)); if(end($tags) == '') array_pop($tags); } foreach($tags as $tag) $str = preg_replace('#</?'.$tag.'[^>]*>#is', '', $str); return $str; } 

и назовите его как:

 $string_value = strip_only($string_value,'img'); 

Рабочая ссылка

Просто используйте strip_tags ($ string_value); и вы получите желаемый результат.