我想从这个优酷视频中提取id:
http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3
id 是 id_ 和 .html 之间的随机字母
如何做到这一点?
我想从这个优酷视频中提取id:
http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3
id 是 id_ 和 .html 之间的随机字母
如何做到这一点?
用这个
$input = 'http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3';
preg_match('~id_(.*?).html~', $input, $output);
echo $output[1];
XNTU2NzQyNzQ0
你可以试试下面的代码:
<?php
$varStr = 'http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3';
$filename = basename($varStr);
preg_match_all('/id_(.*)\.html/', $filename, $match);
echo $match[1][0];
?>
只是为了在您的 REGEX 中使用命名结果,我建议您这样做。其他人的工作都很好,我刚刚添加了命名分组以及忽略句点的非贪婪方法
<?
$regex = "/\id_(?P<video_id>[^\.]*)\./";
if(preg_match($regex, "http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3", $matches)) {
echo $matches['video_id'];
}