Ben böyle bbcode etiketleri ayrıştırmak gereken bir blog inşa ediyorum:
Input: <youtube=http://www.youtube.com/watch?v=VIDEO_ID&feature=channel>
Output:
<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>
Ben kolay kısmı sıkışmış kazanılmış ettik, çünkü benim işlevi, bugüne kadar son derece basittir! Şu anda, ben fark işlem işlevlerini çağıran bir ana süreç işlevi var. Bu durumda, bir tanesi processYouTubeVideos () 'dir. Ben şöyle diyorum:
$str = eregi_replace('\<youtube=([^>]*)\>', processYouTubeVideos("\\1"), $str);
processYouTubeVideos () mükemmel youtube etiketinin içinde gelen URL'leri alır, ama) (veya bölünmüş) (patlayabilir kullanırken nedense, sınırlayıcı asla bulunamadı. Hatta "u" ya da "tüp" gibi test değerleri kullanarak ...
function processYouTubeVideos ($str) {
$params = explode("?", $str);
$params = explode("&", $params[1]);
return $params[0];
}