我们有一个类似http://site.com/people/593765-barack-obama?sort=popular
的网址如何仅获取链接的ID部分?这个例子是593765。
因此模式为http://site.com/people/{somenumber}-{anythingelse}
我不确定如何使用正则表达式来获取它。
答案 0 :(得分:3)
preg_match('#/(\d+)-#', $url, $m);
echo $m[1]; // 593765
答案 1 :(得分:1)
我猜short是URL的'catch'文件,{somenumber} - {anythinelse}是你获得的参数,我只是爆炸参数。
list($iNumber, $sAnything) = explode("-", $sParam1);
答案 2 :(得分:1)
正则表达式:
#/(\d+)-.+\??#
用法示例:
preg_match('#/(\d+)-.+\??#', 'http://site.com/people/593765-barack-obama?sort=popular', $matches);
var_dump($matches[1]);
输出:
string(6) "593765"
答案 3 :(得分:1)
使用正则表达式:
/people\/([0-9]+)\-/
<?php
//$pattern = $_SERVER['REQUEST_URI'];
$pattern = "http://site.com/people/593765-barack-obama?sort=popular";
preg_match('/people\/([0-9]+)\-/', $pattern, $match);
if (isset($match[1])) {
echo "The number is: " . $match[1];
}
?>
答案 4 :(得分:0)
您需要从
过滤它 /shots/593765-brainzap?list=following
这是页面的$_SERVER['REQUEST_URI']
。