【问题标题】:remove all #EXTM3U from string从字符串中删除所有#EXTM3U
【发布时间】:2015-09-18 16:28:35
【问题描述】:

我正在尝试从我的大字符串中删除所有 #EXTM3U。我当前的代码没有删除任何内容,也没有给出任何结果!我在这里做错了什么?

$test_value = preg_match_all("#EXTM3U", "", $input_value);

【问题讨论】:

    标签: php preg-match str-replace preg-match-all


    【解决方案1】:

    您的正则表达式不起作用,因为您缺少 delimiters 并且没有在替换上下文中使用它。

    $test_value = preg_replace("/#EXTM3U/", "", $input_value);
    

    应该可以。

    此外,尽管您在这里没有使用正则表达式,所以更简单的解决方案是使用 str_replace

    $test_value = str_replace("#EXTM3U", "", $input_value);
    

    另请注意$input_value 仍将包含您要删除的字符串; $test_value 将包含没有#EXTM3U 的字符串。

    您也可能更喜欢http://php.net/manual/en/function.str-ireplace.php。如果大小写不重要。

    【讨论】:

      【解决方案2】:

      当您使用 preg_match 时,您希望匹配整个事物中的值。

      如果您执行以下操作,您希望替换内容:

      $test_value = str_replace("#EXTM3U", "", $input_value)
      

      【讨论】:

      • 我从我的一些其他代码中复制了它,感谢您指出我忘记的修改。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 2010-12-04
      • 2012-10-29
      • 2015-12-02
      • 2018-09-10
      • 2019-06-21
      • 2019-11-25
      相关资源
      最近更新 更多