Autor Zpráva
unlucky
Profil
mám skript, který nechá pouze youtube id. Bohužel u druhé části mi to vypisuje lorem ipsum test test ckRsIy4Zqgo then another youtube link sqiQBGkhE9w&feature=related. Jakto? Když tam mám 11 už?

<?
$text = 'lorem ipsum test test http://www.youtube.com/watch?v=ckRsIy4Zqgo  then another youtube link http://www.youtube.com/watch?v=sqiQBGkhE9w&feature=related';

echo preg_replace("/http:\/\/www\.youtube\.com\/watch\?v=(.*?){11}/","$1",$text);

?>
kajaman
Profil
co takhle?

echo preg_replace("/^(.*)?http:\/\/www\.youtube\.com\/watch\?v=(.*?){11}(.*)?$/","$2",$text);
YoSarin
Profil
Nebylo by na tohle principielně vhodnější preg_match_all? Vyzobávat z řetězce jen to co chci, místo zahazovat všechno co se mi nehodí...
$matches = preg_match_all('~http://www\.youtube\.com/watch\?v=([a-zA-Z0-9]{11})~', $text);
print_r($matches);
unlucky
Profil
YoSarin:
dekuji

preg_match_all('~http://www\.youtube\.com/watch\?v=([a-zA-Z0-9_-]{11})~', $text,$matches);
YoSarin
Profil
unlucky:
Aj, pardon za mystifikaci s návratovou hodnotou... :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0