saintx adlı üyeden alıntı: mesajı görüntüle
Arkadaşlar bende bi' tane yapayım dedim. Benimkisi biraz daha basit oldu.
İlgili pakete buradan bakabilirsiniz. (GitHub adresi vs. tüm bilgiler yer alıyor.)

Kullanımı için;

composer.json'a;
{
	"require": {
		"imsaintx/bbcode": "dev-master",
		"zendframework/zend-stdlib": "2.3.*@dev",
		"zendframework/zend-json": "2.3.*@dev"
	}
}
test dosyası;
<?php
	
	require( "./vendor/autoload.php" );
	
	use Bbcode\Bbcode;
	
	Bbcode::addDefinition("youtube", "\[youtube\](.*)\[\/youtube\]", "<iframe src=\"http://www.youtube.com/embed/$1\" width=\"640\" height=\"480\" frameborder=\"0\"></iframe>")
		  ->putHtml("<p>[youtube]ARypk5P6tPY[/youtube]</p>")
		  ->parse();
	
	echo Bbcode::getOutput();
Basit ama yararli olmus ellerine saglik

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:30:46 -->-> Daha önceki mesaj 20:29:22 --

MaviTm adlı üyeden alıntı: mesajı görüntüle
Teşekkürler ellerine sağlık.

eğer faydalı olucak ise ben şu şekilde bir uygulama yazmıştım. sınıfını geliştirirken belki minik bir mantık yardımı olabilir.


Herbirini ayrı ayrı bbcode halinde kullanmak yerine

[video]http://videourladresi.com[/video]
tek video tagı kullanıp

videoOynat($url){
     $en = 320;
     $boy = 180;
if(stripos($url[1],"youtube"){
     $video = preg_replace(
               '#http://(?:www\.)?youtube.com/(watch\?v=|v/)(.*?)#i', 
               'http://www.youtube.com/embed/\3', 
               $url[1]
          );
     return '<iframe width="'.$en.'" height="'.180.'" src="'.$video.'" frameborder="0" allowfullscreen></iframe>';   
}elseif(stripos($url[1],"dailymo"){
//dailymotion kodu
}
}

$degisken = '<div class="video">
Bu kısımda konuyu anlatan bir metin bulunur. Bu kısımda konuyu anlatan bir metin bulunur.  
[video]http://www.youtube.com/watch?v=QQQ7kva3LXc&feature=g-crec[/video]
videodan soraki kalan yazılar
</div>';


$sablon = '#\[video\](.*?)\[\/video\]#is';  
echo preg_replace_callback($sablon, 'videoOynat', $degisken);
Böylede olabilir ellerine saglik.