Php Bbcode Fonksiyonu Arıyorum
-
Arkadaşlar forum sistemi kodlamaya çalışıyorum mesjaları eklettirirken html kodları zararsız hale getriyorum ancak
bana kullandığınız bir bbcode fonksyonu lazım elinizde varsa yazarmısnız -

WordPress script’inde nasıl bbcode kullanacağız? Sorunuza hemen yanıt veriyorum. Temanızın functions.php dosyasına küçük kodlar ekleyerek böyle bir şey yapmamız mümkün. Makale yazarken büyük kolaylıklar sağlayacaktır. örneğin buton ekleme, bilgi kutuları ekleme ve alıntı yazılar gibi şeyler gösterebilmemize olanak sağlar. Yapımı çok basittir demeyeceğim zaten ben sizler için yaptım. Siz ilgili yerleri değiştireceksiniz, birden çok kullanabilmeniz içinde kopyala yapıştır yapmanız yeterlidir. Nasıl yapacağız derseniz? Bir fonksiyon oluşturacağız ve basit css düzenlemesiyle işlemimizi tamamlayacağız.
Burada functions.php dosyasının içine fonksiyon oluşturacağız.function bilgifonksiyon( $atts, $content = null ) { return '' . $content . ''; } add_shortcode( 'bilgi', 'bilgifonksiyon' );
Functions.php dosyasında işimiz tamam. Fonksiyonumuzu atadık ve şimdi css stili oluşturalım..bilgi { color: #222; background: #FEE5E5; border: 1px solid #FFC9C9; border-radius: 5px; padding: 10px; }
Css kodlarını ekleyeceğiniz dosya: Görünüm/Editör/Stil Sayfası (style.css) “Sağ alt tarafta göreceksiniz.” Css düzenlemesi de bittiğine göre şimdi nasıl kullanacağız ona bakalım.[bilgi]Deneme bilgi kutusu ![/bilgi]
Deneme bilgi kutusu !Evet arkadaşlar düşündüğünüz gibi bence de çok basitmiş.

Böylelikle forum sistemlerinde alışık olduğumuz bbcode uygulamasını WordPress’e getirmiş olduk. Aynı şeyi buton yapımında da uygulayabilirsiniz.
Mycity tarafından 06/May/13 00:21 tarihinde düzenlenmiştir
Not alıntı kendi forumumda kullandım başarılı
http://www.ageofempiresonlineturkiye.com/
Reklamda gördüğün yeşil alan -
Bu kodla işimi gördüm ve istediğmi aldım eyvallah
function BBCode ($string) { $search = array( '@\[(?i)b\](.*?)\[/(?i)b\]@si', '@\[(?i)i\](.*?)\[/(?i)i\]@si', '@\[(?i)u\](.*?)\[/(?i)u\]@si', '@\[(?i)img\](.*?)\[/(?i)img\]@si', '@\[(?i)url=(.*?)\](.*?)\[/(?i)url\]@si', '@\[(?i)alinti=(.*?)\](.*?)\[/(?i)alinti\]@si', '@\[(?i)code\](.*?)\[/(?i)code\]@si' ); $replace = array( '<b>\\1</b>', '<i>\\1</i>', '<u>\\1</u>', '<img src="\\1">', '<a href="\\1">\\2</a>', '<div class="alinti">Yazan:\\1 \\2</div>', '<code>\\1</code>' ); return preg_replace($search , $replace, $string); } -
böyle bişi buldum hocam biraz daha gelişmiş :)
function redbonzaiBB($chaination,$too) { global $ifing_r ; $chaine= $chaination ; // br \ // spcchars $chaine= nl2br(htmlspecialchars("$chaine")); // URL and EMAIL $chaine= preg_replace("/[url](.*?)[/url]/i", "<a href="http://$1" title="$1" rel="out" class="externe">$1</a>", $chaine); // SITE WEB $chaine= preg_replace("/[url=(.*?)](.*?)[/url]/i", "<a href="$1" title="$1" rel="out" class="externe">$2</a>", $chaine); // URL $chaine= preg_replace("/[url2=(.*?)](.*?)[/url2]/i", "<a href="$1" title="$2">$2", $chaine); // URL $chaine= preg_replace("/[email=(.*?)](.*?)[/email]/i", "<a href="mailto:$1" class="urlmail">$2</a>",$chaine); // PICTURES $chaine= preg_replace("/[image]([^[]*)[/image]/i", "<img src="$1" alt=" " />", $chaine); // Simple Image $chaine= preg_replace("/[imageLeft]([^[]*)[/imageLeft]/i", "<img src="$1" alt=" " class="img_left" />", $chaine); // Float left $chaine= preg_replace("/[imageRight]([^[]*)[/imageRight]/i", "<img src="$1" alt=" " class="img_right" />", $chaine); // Float left // FONT STYLES $chaine= preg_replace("/[b]([^[]*)[/b]/i", "<strong>$1</strong>", $chaine); $chaine= preg_replace("/[em]([^[]*)[/em]/i", "<em>$1</em>", $chaine); // DESIGN $chaine= preg_replace("/[center]([^[]*)[/center]/i", "<div class="center">$1</div>", $chaine); $chaine= preg_replace("/[left]([^[]*)[/left]/i", "<div class="left">$1</div>", $chaine); $chaine= preg_replace("/[right]([^[]*)[/right]/i", "<div class="right">$1</div>", $chaine); // LIST $chaine= preg_replace("/[ul]([^[]*)/i", "<ul class="list_arrow">$1", $chaine); // Opening list $chaine= preg_replace("/[/ul]([^[]*)/i", "</ul>$1", $chaine); // Closing list $chaine= preg_replace("/[li]([^[]*)[/li]/i", "<li>$1</li>", $chaine); // List element // HEADINGS $chaine= preg_replace("/[h1]([^[]*)[/h1]/i", "<h1>$1</h1>", $chaine); $chaine= preg_replace("/[h2]([^[]*)[/h2]/i", "<h2>$1</h2>", $chaine); $chaine= preg_replace("/[h3]([^[]*)[/h3]/i", "<h3>$1</h3>", $chaine); $chaine= preg_replace("/[h4]([^[]*)[/h4]/i", "<h4>$1</h4>", $chaine); // Note block $chaine= preg_replace("/[note]([^[]*)[/note]/i", "<div class="note"><p>$1</p></div>", $chaine); //Code BLOCK by Christian $chaine = preg_replace("/[code]([^[]*)[/code]/i", '<xmp>$1</xmp>', $chaine); // CHAIN LONGER $chaine = wordwrap($chaine, 60, "n", 1); // KEYWORDS SEARCH RESULT if(isset($ifing_r) && !empty($ifing_r)) { $ye = $ifing_r ; $expl = explode(" ",$ye); for($i=0;$i < count($expl);$i++) { $chaine = preg_replace($expl[$i],"<span class="word_search">$expl[$i]</span>",$chaine); } } return ($chaine); } -
çizik atalım lazım olacak regular expressionlar.
