【问题标题】:PHP: replace string from a particular string to a particular stringPHP:将字符串从特定字符串替换为特定字符串
【发布时间】:2012-06-29 20:49:09
【问题描述】:

如何用特定字符串替换字符串?请参阅下面的示例。

$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\">";

现在我的预期输出是 = &lt;b&gt;Man one&lt;/b&gt; and &lt;b&gt;man two&lt;/b&gt;. 只有图像标签应该被删除。

所以我必须从字符串 $string_value 中将整个字符串从 "&lt;img" 剪切到 "&gt;"。 那么如何使用 preg_replace 或其他任何东西将 "&lt;img""&gt;" 之间的完整字符串剪切掉。

替换参数应该是空格。

【问题讨论】:

    标签: php string


    【解决方案1】:

    看起来你想去除标签。
    你可以通过调用函数strip_tags轻松做到这一点,它会从给定的字符串中去除HTMLPHP标签。

    $string_value = strip_tags($string_value);
    

    编辑:

    由于您只想去除&lt;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');
    

    Working link

    【讨论】:

    • 谢谢,它有效。但我只需要删除 img 标签。因为我有许多其他 html 标签,我在我的示例中没有提到。所以,他们有什么方法可以删除 ima只标记我提到的??请回复
    • string strip_tags ( string $str [, string $allowable_tags ] ) 你可以允许你想要什么标签。
    • 再次感谢兄弟,但我在该字符串上有许多其他 html 标签。基本上我只需要替换 img 标签。所以请帮助仅删除 img 标签...再次感谢
    【解决方案2】:

    可以使用正则表达式排除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);
    ?>
    

    【讨论】:

      【解决方案3】:

      只需使用 strip_tags($string_value);你会得到你想要的输出。

      【讨论】:

      • 谢谢,它有效。但我只需要删除 img 标签。因为我有许多其他 html 标签,我在我的示例中没有提到。所以,他们有什么方法可以删除 ima只标记我提到的??请回复
      • @riad: strip_tags 需要一个额外的参数来指定允许的标签,只需传递一个包含您想要允许的所有标签的字符串。
      • @Dear kiselovs,谢谢。我明白了。他们有很多其他的 html 标签。所以很难包含所有标签。我只需要替换 img 标签。所以请帮我只删除图像标签 ..thx 再次..riad
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 2020-10-04
      • 1970-01-01
      相关资源
      最近更新 更多