Das Problem ist ja gelöst, aber zu deiner Funktion noch:
Bei mir ist der Inhalt der $str ja variabel, des Weiteren habe ich nicht immer die gleiche Anzahl von Videos. Ich "ummantle" aber jede ID sofort wieder mit Quellcode (innerhalb von $str), um das Video per PopUp / Webplayer einzubinden. Mit deiner Methode kann ich dies ja nur mit mindestens 2 weiteren Schritten $str schaffen.
Ich glaube ich habe mich einfach nicht klar genug am Anfang ausgedrückt - sorry.
Auf jeden Fall vielen Dank für deinen Ansatz
Noch mein Quellcode zum Schluss (nicht sehr übersichtlich ;) )
PHP-Code:
$eintrag = preg_replace("!\[(?i)Youtube\](.*)youtube.com\/watch\?v=[_-a-zA-Z0-9]?(.*)(&.*)*\[(?i)/Youtube\]!Uis", "<div class=\"youtube\"><a href=\"gbs-database/gbs-video.php?typ=y&id=\\2\" target=\"_blank\" rel=\"lyteframe\" rev=\"width:446px; height:380px; scrolling:no;\" title=\"<a href="http://www.youtube.com/watch?v=\\2" target="_blank">Link zum Video</a>\"><img src=\"http://img.youtube.com/vi/\\2/1.jpg\" border=\"0\" alt=\"Youtube Thumbnail\" /></a><span><img src=\"gbs-database/icons/youtube-icon.png\" width=\"16\" height=\"16\" alt=\"Youtube Icon\" /></span></div>", $eintrag);