我的正则为何不对
$url="http://v.ifeng.com/documentary/figure/2014002/039bf460-2eaa-4098-89e2-fa07512a8588.shtml";
我的目标是取出039bf460-2eaa-4098-89e2-fa07512a8588
这样写的
//取视频的id
preg_match('/\/(.*)?.shtml/',$url, $videoID);
print_r($videoID);
为何不对啊?请指教。谢谢
------解决方案--------------------\/(.*)?.shtml这个正则表示从/开始到shtml结束的一串字符 如果你想获取可以用下面的方式:
$url="http://v.ifeng.com/documentary/figure/2014002/039bf460-2eaa-4098-89e2-fa07512a8588.shtml";
$path = pathinfo($url);
var_dump($path['filename'])
------解决方案--------------------$url="http://v.ifeng.com/documentary/figure/2014002/039bf460-2eaa-4098-89e2-fa07512a8588.shtml";
preg_match('/([^\/]*?).shtml/',$url, $videoID);
print_r($videoID);
Array
(
[0] => 039bf460-2eaa-4098-89e2-fa07512a8588.shtml
[1] => 039bf460-2eaa-4098-89e2-fa07512a8588
)
------解决方案--------------------preg_match('/\/(.*?)\.shtml/',$url, $videoID);
------解决方案--------------------echo basename($url,".shtml");