首頁  >  文章  >  後端開發  >  小弟我的正则为何不对

小弟我的正则为何不对

WBOY
WBOY原創
2016-06-13 11:51:51894瀏覽

我的正则为何不对
$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";<br />$path = pathinfo($url);<br />var_dump($path['filename'])

------解决方案--------------------
$url="http://v.ifeng.com/documentary/figure/2014002/039bf460-2eaa-4098-89e2-fa07512a8588.shtml";<br /><br />preg_match('/([^\/]*?).shtml/',$url, $videoID);<br />print_r($videoID);<br />
Array
(
    [0] => 039bf460-2eaa-4098-89e2-fa07512a8588.shtml
    [1] => 039bf460-2eaa-4098-89e2-fa07512a8588
)

------解决方案--------------------
preg_match('/\/(.*?)\.shtml/',$url, $videoID);
------解决方案--------------------
echo basename($url,".shtml"); 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn