从url获取正斜杠之间的值。像
http://localhost/test/manage-users/1230/
输出:1230
我也找到了一些帮助完整的答案,但他们不能正确地满足我的情况。他们的网址是硬编码的,即他们的网址无法更改,但在我的情况下,如果用户从不同的网页重定向,则会更改网址。
Get the value of a URL after the last slash
用户从不同页面重定向时的不同网址。
http://localhost/test/manage-users/1230/?value=1230
http://localhost/test/manage-users/1230/
http://localhost/test/manage-users/1230/test1/?value=1230
所以我希望regex
完全填满我的所有案件。
答案 0 :(得分:1)
RegEx 是
\d+(?=\/)
$re = '/\d+(?=\/)/';
$str = 'http://localhost/test/manage-users/1230/?value=1230';
preg_match($re, $str, $matches);
它适用于您提到的所有三种情况。
答案 1 :(得分:0)
你可以试试下面的正则表达式来获得斜杠之间的数字,
\/(\d+)\/
您的PHP代码将是,
<?php
$re = '~\/(\d+)\/~';
$str = 'http://localhost/test/manage-users/1230/?value=1230';
preg_match($re, $str, $matches);
echo $matches[1];
?> // 1230
答案 2 :(得分:0)
我不知道是否可能,但我有一个建议。使用URL重写。
随意塑造您的网址。例如
http://localhost/test/manage-users.php?value=1230
从这个链接获得一些帮助: http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
你可以看起来像:
http://localhost/test/manage-users/1230/