Si la url es en realidad una variable recibida por algún formulario, podrías buscar v= con la funcion:
stristr() Código PHP:
<?php
$url = 'http://www.youtube.com/watch?v=AHMH9UGAB5k';
echo stristr($url, 'v='); // salida v=AHMH9UGAB5k
echo stristr($url, 'v=', true); // A partir de PHP 5.3.0, salida http://www.youtube.com/watch?
?>
Después, puedes usar
ltrim() Para terminar de eliminar los 2 caracteres sobrantes de v= para quedarte simplemente con el codigo que deseas, aunque esto se te complicaría un poco mas,.. ya que por ejemplo, en youtube, a veces,.. hay mas valores detrás de v=etcetc&feature player_embedded
Así que con el codigo que te pasé... puedes ir en busca de & y borrar toooodo lo que haya detrás de & con
rtrim()
O también puedes dejarlo así:
Código PHP:
<?php
$url = 'http://www.youtube.com/watch?v=AHMH9UGAB5k&feature player_embedded';
$url1 = stristr($url, 'v='); // salida v=AHMH9UGAB5k&feature player_embedded
$url2 = stristr($url1, '&', true); // A partir de PHP 5.3.0, salida v=AHMH9UGAB5k
$urldefinitiva = ltrim($url2, "v=");
?>
Ya que con la otra función, que decía el compañero, esos cambios que hay en las url de youtube te hubieran vuelto loco. De esta manera te aseguras un funcionamiento perfecto, en lo que a url's de youtube se refiere.
A ver si te funciona!