嗯,我试图做一些非常简单的事情,但事实证明它非常复杂。
我有这个字符串,它是 -使用preg_replace不工作,因为我期望
后/ 6
再举例来说,我想取代它 -
后/浏览/ 6
所以我试图用以下模式替换它 -
/后/ [1-9-AZ]/
而替换模式 -
视图/ $ 0
但由于某些原因,所返回的字符串是这个字符串 -
/view/post/6
也许你们知道这个解决方案? 我非常感谢你的帮助。
嗯,我试图做一些非常简单的事情,但事实证明它非常复杂。
我有这个字符串,它是 -使用preg_replace不工作,因为我期望
后/ 6
再举例来说,我想取代它 -
后/浏览/ 6
所以我试图用以下模式替换它 -
/后/ [1-9-AZ]/
而替换模式 -
视图/ $ 0
但由于某些原因,所返回的字符串是这个字符串 -
/view/post/6
也许你们知道这个解决方案? 我非常感谢你的帮助。
您可以使用 搜索模式
~post/([1-9-a-z])~
与置换方式
post/view/$1
这是意料之中的结果
$0
表示已在你的情况下被匹配即post/6
完整串
您可以使用环视
preg_replace('/(?<=post)(?=\/[\da-z])/',"/view",$txt);
OR
preg_replace('/(post)(\/[\da-z])/',"$1/view$2",$txt);
你可以简单地使用str_replace()
没有正则表达式是必需的:
echo str_replace('post/', 'post/view/', $str);
谢谢你的回答,但我也需要验证字符串,所以基本上我必须使用正则表达式 – Yehonatan
谢谢。简单但仍帮助我。 – Yehonatan