我想回显/打印一段输入。例如,我有这个youtube url http://www.youtube.com/watch?v=p963CeTtJVM我怎么能只回显输入的最后一段:“p963CeTtJVM”。据我所知,他们总是有11个符号。
代码:
if (empty($_POST["website"]))
{$website = "";}
else
{
$website = test_input($_POST["website"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
{
$websiteErr = "Invalid URL";
}
}
答案 0 :(得分:1)
list ($void, $query_string) = split('?', $url); // or list(,$qs)
parse_str($query_string, $data);
var_dump($data);
对于此特定字符串substr($ str,-11)将采用最后11个字符,但不包括其他标记。查看parse_str,从长远来看,这可能会让您头疼。
答案 1 :(得分:0)
您可以使用substr方法返回字符串的一部分。
答案 2 :(得分:0)
您可以使用explode功能将视频ID与链接的其余部分分开,如下所示:
$array = explode("=", $website);
echo $array[1];
答案 3 :(得分:0)
我希望它可以帮到你。
<?php
$url = 'http://www.youtube.com/watch?v=p963CeTtJVM';
$urlParts = explode('v=', $url);
if (count($urlParts) == 2 && isset($urlParts[1])) {
echo "youtube code : {$urlParts[1]}";
} else {
echo "Invalid Youtube url.";
}
答案 4 :(得分:0)
这parses the URL into its component parts,然后是parses the query string into an associative array。
$url = parse_url($url);
parse_str($url['query'], $params);
$v = $params['v'];