当前位置:Gxlcms > PHP教程 > 小弟我的正则为何不对

小弟我的正则为何不对

时间:2021-07-01 10:21:17 帮助过:28人阅读

我的正则为何不对
$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");

人气教程排行