存储在数据库URL拉变量从变量
问题描述:
如果$ youtubeurl = http://www.youtube.com/watch?v=ytWAw6YqN10S存储在数据库URL拉变量从变量
如何创建一个“V”型变量,并将它从$ youtubeurl
实例提取出来: 我有YouTube网址存储在数据库中,但是当我嵌入播放器的URL需要像
www.youtube.com/v/ytWAw6YqN10?fs=1
答
要格式化最彻底的方法是使用parse_url()
提取查询字符串,并从parse_str()
中获取v
变量。
$youtubeurl = "http://www.youtube.com/watch?v=ytWAw6YqN10S";
$values = array();
$query_string = parse_url($youtubeurl, PHP_URL_QUERY); // extract query string
parse_str($query_string, $values); // turn query string into associative array
echo $values["v"]; // will echo "ytWAw6YqN10S"
答
您可以使用正则表达式,如:。
preg_match_all("/^http://www.youtube.com/watch\?v=(.*).*/", $youtubeurl, $matches);
其中$比赛将是包含(),即变量v内匹配的数组
我不知道的表达我已经给出了,但我相信这个想法会起作用。
答
$youtubeurl = "http://www.youtube.com/watch?v=ytWAw6YqN10S";
$pos = strpos($youtubeurl, "?v=");
$v = "";
if($pos !== FALSE)
{
$v = substr($youtubeurl, $pos + 3);
}
// now $v should contain the value you needed provided the url was valid