BBCode und YouTube

Maggi13

Mitglied
Hey Leute...

Ich bin gerade dabei eine BBCode Function zu schreiben.
Jetzt bin ich bei Y.T. angelangt und komme nicht rcht weiter:

Das Problem ist das die Video-ID garnicht in die Adresse eingefügt wird und so der Player weiß erscheint.

Ich könnte natürlich auch einfach sagen das die "Leute" nur die Video-ID in den BBCode eintragen sollten jedoch tuen dies sehr wenige und es wissen auch nicht alle wie es geht so sieht mein PHP-Script aus:

PHP:
<?php
function bbytid($id)
{
preg_match("/v=([^(\&|$)]*)/", $id, $matches);
$ytstring = '<embed src="http://www.youtube.com/v/'.$matches[1].'&hl=de&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always"    

allowfullscreen="true" width="425" height="344"></embed>';
return $ytstring;
}

function bbyt2ythtml($string)
{
$string = preg_replace('/\[youtube\](.*)\[\/youtube\]/', bbytid('$1'), $string);
return $string;
}

echo bbyt2ythtml("[ youtube]http://de.youtube.com/watch?v=2E92hfWFnpE[ /youtube]");
?>

Ich hoffe ihr könnt mir sagen was daran falsch ist... oder was noch gemahct werden muss...:rolleyes:
 
Dein RegExp ist nicht gerade der schönste dafür. Versuch es mal mit diesem hier.

Code:
#\[yt\]http://(?:\w{1,3}\.)?youtube.com/watch\?v=([0-9A-Za-z-_]{11})[^[]*\[/yt\]#is
 
Zurück