如何在php中提取此参数值

如何在php中提取此参数值,php,Php,我有一个类似这样的url,其中comment=token3u8324349809832409由分隔,它们之间用/。如何提取令牌值token3u8324349809832409 使用正则表达式: $saved_string = "http://site.com/id/12345/comment/token3u8324349809832409"; preg_match('/(token[a-z0-9]+)/', $saved_string, $matches); $token = $matches

我有一个类似这样的url,其中comment=token3u8324349809832409由分隔,它们之间用/。如何提取令牌值token3u8324349809832409


使用正则表达式:

$saved_string = "http://site.com/id/12345/comment/token3u8324349809832409";

preg_match('/(token[a-z0-9]+)/', $saved_string, $matches);
$token = $matches[1];

// $token = 'token3u8324349809832409';

使用正则表达式:

$saved_string = "http://site.com/id/12345/comment/token3u8324349809832409";

preg_match('/(token[a-z0-9]+)/', $saved_string, $matches);
$token = $matches[1];

// $token = 'token3u8324349809832409';
我希望这有帮助

我希望这会有所帮助

这可以做到:

if (preg_match('#/comment/([^/]+)#', $saved_string, $matches)) {
    $comment = $matches[1];
}
这可以做到:

if (preg_match('#/comment/([^/]+)#', $saved_string, $matches)) {
    $comment = $matches[1];
}

如果它总是最后一部分,你可以使用

$value = end(explode('/', $saved_string));
或者:从我的头顶

preg_match('/\/token(.*)/', $saved_string, $value);

如果它总是最后一部分,你可以使用

$value = end(explode('/', $saved_string));
或者:从我的头顶

preg_match('/\/token(.*)/', $saved_string, $value);

如果/评论/。。。不是在最后吗-如果/评论/。。。不是在最后吗-只有在/comment/…的情况下,这两种方法都有效。。。在末尾;-第二个表单将匹配/comment/token之后的任何内容,直到字符串结束;只有当/comment/…时,xBoth才起作用。。。在末尾;-第二个表单将匹配/comment/token之后的任何内容,直到字符串结束;如果url是http://site.com/id/12345/foo/token123/comment/token3u8324349809832409 ? ;-如果url是http://site.com/id/12345/foo/token123/comment/token3u8324349809832409 ? ;-如果/评论/。。。不是在最后吗?:-而且,它是不推荐的;使用或。它将从url获取最后一个参数,不管是令牌还是其他什么,您都会得到它。或者,如果您在最后一个参数之前有1000个参数,则这将占用最后一个参数。数组的简单逻辑长度-1是数组的最后一个参数,因为计数从0 what if/comment/…开始。。。不是在最后吗?:-而且,它是不推荐的;使用或。它将从url获取最后一个参数,不管是令牌还是其他什么,您都会得到它。或者,如果您在最后一个参数之前有1000个参数,则这将占用最后一个参数。数组的简单逻辑长度-1是数组的最后一个参数,因为计数从0开始