Youtube Video einbinden - Problem

thommy1972

Mitglied
Ich habe auf meiner Seite eine Shoutbox. So weit so gut. In eben jener können Youtube videos eingebunden werden via (youtube)(/youtube) normal Eckige Klammern geht aber hier nicht ^^
Das ganze wird in den String $row5[text] erledigt.
Nun zu dem eigentlichen Problem:
Wenn ich nur das Video einbinde geht das wunderprächtig. Schreibe ich aber Text dazu geht es nicht mehr.
Dieses wiederrum liegt offensichtlich daran dass ich dem Videolink mit

PHP:
$vid1 = substr($row5[text], 40, 11);

nur die Video ID entziehe.
Hier mal der relevante Code:

PHP:
$vid1 = substr($row5[text], 40, 11);

$row5['text'] = preg_replace("/\[youtube\](.*?)\[\/youtube\]/", "<div id='mediaContainer'></div><br><div id='videogallery'><a rel='#voverlay' href='http://www.youtube.com/v/$vid1&autoplay=1&rel=0&enablejsapi=1&playerapiid=ytplayer'><img src='http://i1.ytimg.com/vi/$vid1/default.jpg' width='100' border='0' /images/lupe.png' border='0' /></div></a>", $row5['text'] );

Wie stelle ich es nun an dass er erst den Text (z.b. Hallo ! (youtube)VIDEOLINK(/youtube))
anzeigt ?
 
Hallo,
mit substr() versuchen an die VideoID zu kommen ist keine gute Idee, wenn der Text dynamisch ist. Du kannst aber wieder einen regulären Ausdruck erstellen mit dem die VideoID unabhängig von der Länge des Textes gefunden werden kann.
 
Google sagt folgendes:

Quelle

PHP:
$url = "http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=relate";
parse_str( parse_url( $url, PHP_URL_QUERY ) );
echo $v;    
  // Output: C4kxS1ksqtw
 
Zurück