标签: php regex
为什么此代码显示my/url/而不是my/url?
my/url/
my/url
<?php $url = "/my/url/"; echo preg_replace("#^/?(.+)/?$#","$1",$url); ?>
答案 0 :(得分:7)
默认情况下,您(.+)贪婪。通过在?之后添加+来使其不合适。
(.+)
?
+
echo preg_replace("#^/?(.+?)/?$#","$1",$url);
CodePad
你也可以使用trim($url, '/'),这比正则表达式更合适。
trim($url, '/')
答案 1 :(得分:2)
只需使用trim()
trim()
$url = '/my/url/'; echo trim($url, '/');
答案 2 :(得分:-1)
因为你.+会占用任何角色。使它成为任何字符,除了斜杠,它将起作用; - )。
.+