我需要使用preg_match废弃网址的一部分,但我从来没有得到我需要的东西。 这里的例子是:
$item = "http://example.com/0229883504/?r=2-OR1&p=1";
$item = preg_match_all("/href[^\"]+/i",$item,$matches);
print_r($matches)
我需要返回此号码
0229883504
我尝试了很多但是当我var_dump
匹配数组时,它给出了:
Array ( [0] => Array ( [0] => href= ) )
我知道这个问题属于这个模式,但我在这方面并不是很好:)
答案 0 :(得分:1)
这是您需要的代码:
$item = "http://example.com/0229883504/?r=2-OR1&p=1";
$item = preg_match_all("#http://.*?/(.*?)/.*#i",$item,$matches);
print_r($matches);
如果需要提取值0229883504,可以添加以下行:
$result = $matches[1][0];
echo $result;
并且它可以正常工作:http://ideone.com/H2E9I
答案 1 :(得分:1)
这将在上面举例说明。
preg_match_all("/http:\/\/example.com\/([a-zA-Z0-9]+)\//",$item,$matches)
甚至更好:
preg_match_all("/http:\/\/example.com\/(.+)\//",$item,$matches)
但是,如果您的域名可能有所不同,请使用Aurelio中的代码示例:)。