1

我有一个类似这样的网址:

http://somethinfs.com/folder/134039/the_title_of_somethings.html
http://somethinfs.com/folder/184738/the_title_of_somethings_else.html

从这个 URL 中,我需要提取“134039”和“184738”。我尝试使用 strpos 和 substr 但它不起作用,它只是返回 me .html

4

4 回答 4

7

混合parse_urlexplode会做到这一点。

$a = parse_url("http://somethinfs.com/folder/184738/the_title_of_somethings_else.html");
$b = explode("/", $a['path']);
echo $b[2]; 

输出是184738

于 2011-11-17T13:33:42.637 回答
4

正则表达式

if (preg_match('!/(\d+)/!', $url, $matches)) {
    echo $matches[1];
}
于 2011-11-17T13:30:41.230 回答
2

爆炸链接 /

http:/ /somethinfs.com/folder/134039/the_title_of_somethings.html
 0    1      2           3      4               5       

所以...

$tmp = explode('/', $url);
$your_id = $tmp[4];

你也可以像 deceze 所说的那样使用正则表达式:)

于 2011-11-17T13:31:00.070 回答
0

这有效,但返回所有数字:

$number = preg_replace("/[^0-9]/", '', "http://somethinfs.com/folder/134039/the_title_of_somethings.html");
echo $number ;
于 2011-11-17T13:40:33.670 回答