好吧,我正在尝试做一些非常简单的事情,但结果却很复杂。
我有这个字符串 -
帖子/6
例如,我想用 -
发布/查看/6
所以我尝试使用以下模式替换它 -
/post/[1-9-az]/
和替换模式 -
查看/$0
但由于某种原因,返回的字符串是这个字符串 -
/查看/发布/6
也许你们知道解决这个问题的方法吗?我非常感谢您的帮助。
好吧,我正在尝试做一些非常简单的事情,但结果却很复杂。
我有这个字符串 -
帖子/6
例如,我想用 -
发布/查看/6
所以我尝试使用以下模式替换它 -
/post/[1-9-az]/
和替换模式 -
查看/$0
但由于某种原因,返回的字符串是这个字符串 -
/查看/发布/6
也许你们知道解决这个问题的方法吗?我非常感谢您的帮助。
您可以简单地使用str_replace()
不需要正则表达式:
echo str_replace('post/', 'post/view/', $str);
这是预期的结果
$0
表示已匹配的完整字符串,即post/6
在您的情况下
您可以使用环视
preg_replace('/(?<=post)(?=\/[\da-z])/',"/view",$txt);
或者
preg_replace('/(post)(\/[\da-z])/',"$1/view$2",$txt);
你可以使用搜索模式
~post/([1-9-a-z])~
带替换模式
post/view/$1