使用preg_replace无法正常工作

时间:2013-06-30 07:10:25

标签: php regex preg-replace

嗯,我正在尝试做一些非常简单的事情,但事实证明这很复杂 我有这个字符串 -

  

交/ 6

例如,我想用 -

替换它
  

交/视图/ 6

所以我尝试使用以下模式替换它 -

  

/后/ [1-9-A-Z] /

替换模式 -

  

查看/ $ 0

但由于某种原因,返回的字符串是此字符串 -

  

/视图/后/ 6

也许你们知道解决方案吗? 非常感谢你的帮助。

3 个答案:

答案 0 :(得分:2)

你可以简单地使用str_replace()不需要正则表达式:

echo str_replace('post/', 'post/view/', $str);

答案 1 :(得分:1)

这是预期的结果

$0表示已匹配的完整字符串,例如post/6

您可以使用环视

preg_replace('/(?<=post)(?=\/[\da-z])/',"/view",$txt);

OR

preg_replace('/(post)(\/[\da-z])/',"$1/view$2",$txt);

答案 2 :(得分:1)

你可以用 搜索模式

~post/([1-9-a-z])~

使用替换模式

post/view/$1