我想将此网址http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div
转换为:http://www.youtube.com/v/dgNgODPIO0w
使用php。更改网址字符串
Q
更改网址字符串
0
A
回答
3
$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
$url = 'http://www.youtube.com/watch?v=dgNgODPIO0w&feature=rec-HM-fresh+div';
$url = preg_replace('@http://www.youtube.com/watch\?v=([^&;]+).*[email protected]', 'http://www.youtube.com/v/$1', $url);
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];
相关问题
- 1. 更改字符串中的网址(如果存在)
- 2. 更改查询字符串使用的网址显示
- 3. 如何更改降价字符串中的图片网址
- 4. 使用查询字符串更改网址
- 5. asp.net MVC网址字符串
- 6. 检查网址(字符串)
- 7. 更改字符串
- 8. 检查网址字符串和301重定向到网址没有字符串
- 9. 网址编码字节字符串?
- 10. ReactJS更改网址
- 11. 更改网址asp.net
- 12. 更改Facebook网址
- 13. 更改Joomla网址
- 14. 更改网址zend
- 15. 更改网址htaccess
- 16. MVC3更改网址
- 17. 更改网址Angularjs
- 18. Fancybox更改网址
- 19. Mod_rewrite更改网址
- 20. Cakephp更改网址?
- 21. 更改网站网址
- 22. 将字符串网址与字符串值进行比较
- 23. 如何通过查询字符串更改来自youtube的嵌入代码中的部分网址字符串
- 24. Asp.net mvc网址路由。更改网址
- 25. 将网址更改为点网址
- 26. 根据动态字段更改网址
- 27. 输入字段更改网址
- 28. 更改表单字段网址
- 29. 将字符串附加到firebase网址
- 30. AJAX添加到网址字符串
你知道你可以使用不同的字符,而不是/作为你的分隔符在正则表达式中,对吧?无论你的字符串的第一个字符是什么,都将被视为分隔符,所以你可以使用类似#或@或〜而不是/(以防止在url本身中反斜杠)。 – Amber 2009-09-01 11:52:14
@Dav:是的,我知道。但是你知道'.'是一个元字符,代表任意字符吗? – Gumbo 2009-09-01 11:57:13