Parsing Youtube in preg_replace in PHP?



Hi,

I am attempting to parse the video ID of a youtube URL using preg_match. I found a regular expression on this site that appears to work;

(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+

My PHP code is as follows:

<?php
<?
 
$subject "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";

 
preg_match("(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+"$subject$matches);

 print 
"<pre>";
 
print_r($matches);
 print 
"</pre>";

?>



Try the following code:

<?php

$url 
"http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1"
 
$pattern getPatternFromUrl($url); //this will retun video id

function getPatternFromUrl($url)
{
$url $url.'&';
$pattern '/v=(.+?)&+/';
preg_match($pattern$url$matches);
//echo $matches[1]; die;
return ($matches[1]);
}

?>