简单的preg_replace()不适合我:/

时间:2017-07-04 17:41:58

标签: php regex

$str = "{Controller}/{Action}";
$str = preg_replace("/\//","\\/",$str);
$str = preg_replace("/(\{\w+\})\\/(\{\w+\})/","\\1 slash \\2",$str);
echo $str;

所以第三行对我没有任何帮助,有人能说我哪里错了吗?它可以工作,如果我把别的东西而不是\ / 提前谢谢;)

1 个答案:

答案 0 :(得分:0)

这将有效:

$str = "{Controller}/{Action}";
$str = preg_replace('#(\{\w+\})/(\{\w+\})#', '\1 slash \2', $str);

echo $str;

输出:{Controller} slash {Action}

说明:

  • 您应该使用单引号来减少转义的需要,从而提高可读性。
  • 如果你匹配文字斜杠(例如#,但有效的话),你也应该考虑使用另一个分隔符