I have a string like so:
http://www.youtube.com/v/Nnp82q3b844&hl=en_US&fs=1&
and I want to extract the
Nnp82q3b844
part of it i.e. the part between /v/ and the first &.
Is there and easy way to do this in PHP?
I have a string like so:
http://www.youtube.com/v/Nnp82q3b844&hl=en_US&fs=1&
and I want to extract the
Nnp82q3b844
part of it i.e. the part between /v/ and the first &.
Is there and easy way to do this in PHP?
yes he shouldn't be too hard take a look here for you reference or to understand my answer
after for the regular expression
something like this should make it
preg_match('|http://www.youtube.com/v/([^&]+)&hl=en_US&fs=1&|', $url, $match );
var_dump($match[1]);
The [^&]+
means basically more than or one character that is not a '&', '[]' define some character possibilities [^] make it reverse so any character not in the bracket, + mean 1 or more character.
But you have better to look it by yourself!
I really advise you to take a good look at regular expressions because it can really save you hours of work and once you get how it works, it is really useful!
You don't necessary needs regular expressions in that case, you can use the parse_url
function to do the work.
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
The above example will output:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
$str="http://www.youtube.com/v/Nnp82q3b844&hl=en_US&fs=1&";
$s = parse_url($str);
$t = explode("/", $s["path"]);
print preg_replace("/&.*/","",end($t));