PHP ile BBCode Uygulaması

Kayıt
7 Haziran 2008
Mesaj
533
Tepki
6
PHP:
Bu dersimizde PHP ile saayfalarınızda BBCode uygulaması yapalım.



<?php 


    


/*





     * Site Fonksiyon Tanımlamaları.


    * Lisans Haklari Özgür Can KARAGÖZ'e Aittir. <ozgurcankaragoz@gmail.com>





*/





    function URL($url, $link = '')


    {


    


    $tam_url = $url;


    if (strpos($url, 'www.') === 0) $tam_url = 'http://'.$tam_url;


    else if (strpos($url, 'ftp.') === 0) $tam_url = 'ftp://'.$tam_url;


    else if (strpos($url, 'http://') !== 0) $tam_url = 'http://'.$tam_url;





    $link = ($link == '' || $link == $url) ? ((strlen($url) > 55) ? substr($url, 0 , 30).' ... '.substr($url, -10) : $url) : stripslashes($link);





        return '<a href="Linkout.html?pID='.$tam_url.'" target="_blank">'.$link.'</a>';


    }





    //---------------------------------------------


    //  Linklerimiz için foksiyon tanımladık.


    //---------------------------------------------








    function Resim($url)


    {


        $resim_tag = '<img src="'.$url.'" alt="'.htmlspecialchars($url).'" style="border: 0px;">';


    


        return $resim_tag;


    }





    //---------------------------------------------


    //  Resimlerimiz için fonksiyon tanımladık


    //---------------------------------------------





        


    function BBcode($Mesaj)


    {


    


    $Aranan[] = '#\[b\](.*?)\[/b\]#s';


    $Aranan[] = '#\[i\](.*?)\[/i\]#s';


    $Aranan[] = '#\[u\](.*?)\[/u\]#s';


    $Aranan[] = '#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s';


    $Aranan[] = '#\[left\](.*?)\[/left\]#s';


    $Aranan[] = '#\[center\](.*?)\[/center\]#s';


    $Aranan[] = '#\[right\](.*?)\[/right\]#s';


    $Aranan[] = '#\
[list\]#s';


    $Aranan[] = '#\[/list\]#s';


    $Aranan[] = '#\[\*\]#s';


    $Aranan[] = '#\[img=((ht|f)tps?://)([^\s<"]*?)\\]#e';


    $Aranan[] = '#\[url\](.*?)\[/url\]#e';


    $Aranan[] = '#\[url=(.*?)\](.*?)\[/url\]#e';


    $Aranan[] = '#\[email\](.*?)\[/email\]#';


    $Aranan[] = '#\[email=(.*?)\](.*?)\[/email\]#';


        


    $Degistir[] = '<b>$1</b>';


    $Degistir[] = '<i>$1</i>';


    $Degistir[] = '<u>$1</u>';


    $Degistir[] = '<span style="color: $1">$2</span>';


    $Degistir[] = '<div style="text-align: left;">$1</div>';


    $Degistir[] = '<div style="text-align: center;">$1</div>';


    $Degistir[] = '<div style="text-align: right;">$1</div>';


    $Degistir[] = '<ul>';


    $Degistir[] = '</ul>';


    $Degistir[] = '<li>';


    $Degistir[] = 'Resim(\'$1$3\')';


    $Degistir[] = 'URL(\'$1\')';


    $Degistir[] = 'URL(\'$1\', \'$2\')';


    $Degistir[] = '<a href="mailto:$1">$1</a>';


    $Degistir[] = '<a href="mailto:$1">$2</a>';    





    $Mesaj = preg_replace($Aranan, $Degistir, $Mesaj);





    //---------------------------------------------


    //  Etiketlerimiz için fonksiyon tanımladık


    //---------------------------------------------





        if (strpos($Mesaj, 'quote') !== false)


        {


            $Mesaj = preg_replace('#\@(&quot;|"|\'|)(.*)\\1\', '</blockquote></div>', $Mesaj);


        }





    //---------------------------------------------


    //  Alıntı için fonksiyon tanımladık


    //---------------------------------------------





    return $Mesaj;


    


    }





 ?>
 
Yukarı Alt