【发布时间】:2015-09-18 16:28:35
【问题描述】:
我正在尝试从我的大字符串中删除所有 #EXTM3U。我当前的代码没有删除任何内容,也没有给出任何结果!我在这里做错了什么?
$test_value = preg_match_all("#EXTM3U", "", $input_value);
【问题讨论】:
标签: php preg-match str-replace preg-match-all
我正在尝试从我的大字符串中删除所有 #EXTM3U。我当前的代码没有删除任何内容,也没有给出任何结果!我在这里做错了什么?
$test_value = preg_match_all("#EXTM3U", "", $input_value);
【问题讨论】:
标签: php preg-match str-replace preg-match-all
您的正则表达式不起作用,因为您缺少 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)
【讨论】: