为什么这段代码显示 my/url/
而不是 my/url
?
<?php
$url = "/my/url/";
echo preg_replace("#^/?(.+)/?$#","$1",$url);
?>
最佳答案
你的 (.+)
默认是贪心的。通过在 +
之后添加 ?
使其不贪婪。
echo preg_replace("#^/?(.+?)/?$#","$1",$url);
CodePad .
您也可以使用 trim($url, '/')
,它比正则表达式更合适。
关于php - 我的正则表达式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7751492/