我想從這個優酷視頻提取ID:提取「ID_」之間的字符串和「.HTML」
http://v.youku.com/v_show/id_XNTU2NzQyNzQ0.html?f=19275195&ev=3
的id是ID_和.html
之間的隨機字母如何做到這一點?
我想從這個優酷視頻提取ID:提取「ID_」之間的字符串和「.HTML」
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 = "/\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'];
}
完美。謝謝! – alexchenco
@alexchenco歡迎。 :) –