更改url-string

时间:2009-09-01 11:43:29

标签: php url string

我希望将此网址http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div转换为:http://www.youtube.com/v/dgNgODPIO0w,并使用php。

3 个答案:

答案 0 :(得分:3)

我会使用parse_urlparse_str的组合:

$url = 'http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div';
$parts = parse_url($url);
parse_str($parts['query'], $params);
$url = 'http://www.youtube.com/v/'.$params['v'];

或简单的正则表达式:

preg_match('/^'.preg_quote('http://www.youtube.com/watch?', '/').'(?:[^&]*&)*?v=([^&]+)/', $url, $match);
$url = 'http://www.youtube.com/v/'.$match[1];

答案 1 :(得分:1)

$url = 'http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div';
$url = preg_replace('@http://www.youtube.com/watch\?v=([^&;]+).*?@', 'http://www.youtube.com/v/$1', $url);

答案 2 :(得分:0)

$url = 'http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div';

preg_match('~(http://www\.youtube\.com/watch\?v=.+?)&.*?~i', $url, $matches);

echo $matches[1];