0

我想从这个优酷视频中提取id:

http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3

id 是 id_ 和 .html 之间的随机字母

如何做到这一点?

4

3 回答 3

3

用这个

$input = 'http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3';
preg_match('~id_(.*?).html~', $input, $output);
echo $output[1];

输出

XNTU2NzQyNzQ0

键盘

于 2013-05-15T05:48:38.580 回答
1

你可以试试下面的代码:

<?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];
?>
于 2013-05-15T05:49:27.787 回答
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'];
}
于 2013-05-15T05:52:47.713 回答