我想从优酷视频中提取ID:
http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3
id是id_和.html
之间的随机字母如何做到这一点?
答案 0 :(得分: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
答案 1 :(得分: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];
?>
答案 2 :(得分: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'];
}