ホームページ  >  記事  >  バックエンド開発  >  小弟我的正则为何不对

小弟我的正则为何不对

WBOY
WBOYオリジナル
2016-06-13 11:51:51891ブラウズ

我的正则为何不对
$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 までご連絡ください。