Ich bin ein Blog erstellen, die bbcode Tags wie diese analysieren sollte:PHP explode() nicht zu finden Begrenzer
Eingang: <youtube=http://www.youtube.com/watch?v=VIDEO_ID&feature=channel>
Ausgang:
<object width="400" height="245">
<param name="movie" value="http://www.youtube- nocookie.com/v/VIDEO_ID&hl=en&fs=1&rel=0&showinfo=0"></param>
<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube-nocookie.com/v/VIDEO_ID&hl=en&fs=1&rel=0&showinfo=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="245"></embed>
</object>
Meine Funktion ist unglaublich einfach so weit, weil ich auf dem einfachsten Teil steckengeblieben bin! Im Moment habe ich eine Master-Prozessfunktion, die Differenzprozessfunktionen aufruft. In diesem Fall ist einer von ihnen processYouTubeVideos(). So nenne ich es etwa so:
$str = eregi_replace('\<youtube=([^>]*)\>', processYouTubeVideos("\\1"), $str);
processYouTubeVideos() empfängt die URLs aus dem Inneren des youtube-Tag perfekt, aber aus irgendeinem Grund, wenn explodieren mit() (oder Split) das Trennzeichen wird nie gefunden. unter Verwendung von Testwerte auch wie „u“ oder „Schlauch“ ...
function processYouTubeVideos ($str) {
$params = explode("?", $str);
$params = explode("&", $params[1]);
return $params[0];
}
nicht mit der Frage verwandt, aber Sie könnten sich parse_str() ansehen, anstatt die Zeichenfolge selbst zu teilen –
ereg_ * Funktionen sollten nicht mehr verwendet werden – Evert