Youtube preg_replace

Z

Zirp

Hallo

ich finde meinen Fehler einfach nicht :(

Könnt ihr bitte einen Blick drauf werfen

PHP:
    $eintrag = preg_replace('/\[Youtube\]http://(*)?youtube.com/watch\?v=(.*?)\[\/Youtube\]','<center><embed src="http://www.youtube.com/v/\\1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" align="center"></center></embed>',$eintrag);

und Fehlermeldung ist immer

Code:
Warning: preg_replace() [function.preg-replace]: Unknown modifier '/' in E:\xampp\htdocs\gbook\functions.inc.php on line 20

Ich hoffe ihr seht meinen Fehler denn ich scheitere dran jetzt schon eine halbe Stunde

Danke schonmal

mfg
 
Zudem fehlt dem Ausdruck der Delimiter und er erscheint mir auch sonst nicht ganz durchdacht...
 
PHP:
    $eintrag = preg_replace('/\[Youtube\]http:\/\/(*)?youtube.com\/watch?v=([A-Za-z0-9\-\_]+)\[\/Youtube\]/si','<center><embed src=\"http:\/\/www.youtube.com\/v\/\\1" type="application\/x-shockwave-flash" wmode="transparent" width="425" height="350" align="center"><\/center><\/embed>',$eintrag);

Danke für eure Tipps
wo habe ich heute meinen Kopf ? :suspekt:

Code:
Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 21

Jetzt kriege ich diese Fehlermeldung ... :(

Hat jemand eine Idee ?
 
Zuletzt bearbeitet von einem Moderator:
Du darfst nicht direkt im replacing-teil die tags mit reinnehmen, probier es mal so:

PHP:
$link = 'http://youtube.com/watch?v=bNJ5_2BOIvQ';

$eintrag = preg_replace("/\[Youtube\]http:\/\/([www]|[^www])youtube.com\/watch\?v\=([A-Za-z0-9\-\_]+)\[\/Youtube\]/i", "$2", $link);

echo '<center><embed src="http://www.youtube.com/v/'.htmlspecialchars($eintrag).'" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350" align="center"></center></embed>'; 
// Könntest es auch extra noch in eine variable packen und dann mitausgeben :) oder in die ausgabe mit einbinden ;)
 
Hier stellt sich das Problem das ich den Youtube Link nicht extra als Variable habe sonder ein Teil von $Eintrag ist (welches ja auch so in der DB als BB Code gespeichert wird). Deshalb habe ich ja versucht das in einem Zug zu machen.

edit: Hat sich erledigt... Danke
 
Zuletzt bearbeitet von einem Moderator:
Stell einfach alles in einem array:

PHP:
$search[] = '/\[Youtube\]http:\/\/([www]|[^www])youtube.com\/watch\?v\=([A-Za-z0-9\-\_]+)\[\/Youtube\]/';

$replace[] = "<center><embed src=\"http://www.youtube.com/v/$2\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"425\" height=\"350\" align=\"center\"></embed></center>";

$eintrag = preg_replace($search, $replace, $eintrag);

Für mehreres schau mal hier: http://www.tutorials.de/forum/php-codeschnipsel/270271-bb-decode-funktion.html
 
Zuletzt bearbeitet:
Zurück