如何从特定字符串替换字符串?请参阅下面的示例。
$string_value="<b>Man one</b> <img src=\"http://www.abc.com/image1.jpg\">and <b>Man two</b> <img src=\"http://www.abc.com/img2.png\">";
现在我的预期输出是= <b>Man one</b> and <b>man two</b>.
,只应删除图片标记。
所以我必须从字符串$ string_value中将完整字符串从"<img"
剪切到">"
。
那么如何使用preg_replace或其他任何内容在"<img"
到">"
之间剪切完整的字符串。
替换参数应为空格。
答案 0 :(得分:2)
您似乎要删除标记。
您可以通过调用strip_tags
函数轻松完成此操作,该函数会从给定字符串中删除HTML
和PHP
个标记。
$string_value = strip_tags($string_value);
修改强>
由于您只想删除<img
代码,因此您可以使用此function:
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');
答案 1 :(得分:1)
只需使用strip_tags($ string_value);你会得到你想要的输出。
答案 2 :(得分:1)
您可以使用正则表达式排除IMG标记:
<?php
$text = "Man one <img src=\"http://www.abc.com/image1.jpg\">and Man two <img src=\"http://www.abc.com/img2.png\">";
$pattern = "/<img(.*?)>/i";
$replace = '';
print preg_replace($pattern,$replace,$text);
?>