从字符串中删除所有#EXTM3U

remove all #EXTM3U from string

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

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

您的正则表达式不起作用,因为您缺少 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。如果大小写不重要。

当您使用 preg_match 时,您希望匹配整个值。

如果您执行以下操作,您将要替换内容:

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