Avatar billede fizker Nybegynder
03. marts 2004 - 22:00 Der er 2 kommentarer

BBcode PHP

hvordan bruger jeg BBcode scripts...

F.eks dette

<?php
/************************************************/
/*        BBCode v1.0a            */
/*        Date: 03/2003            */
/*                        */
/*    A simple and effective script that    */
/*    allows you to implement bbcode type    */
/*    behaviour on your php website.        */
/*                        */
/*    Contact: bbcode@netgem.freeserve.co.uk    */
/*                        */
/*    Usage:                    */
/*                        */
/*    Put the following line at the top of     */
/*    the page you want to have the bbocde    */
/*    in...(assumes both pages are in the    */
/*    folder                    */
/*                        */
/*    include("bbCode.php");            */
/*                        */
/*    Pass the text to the function:        */
/*                        */
/*    $mytext = BBCode("This is my BBCODE");    */
/*    or                    */
/*    $mytext = "This is my text";        */
/*    $mytext = BBCode($mytext);        */
/*                        */
/*    echo $mytext;                */
/*                        */
/************************************************/
?>
<style type="text/css">
<!--
body    {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
}

.bold {
    font-weight: bold;
}

.italics {
    font-style: italic;
}

.underline {
    text-decoration: underline;
}

.strikethrough {
    text-decoration: line-through;
}

.overline {
    text-decoration: overline;
}

.sized {
    text-size:
}

.quotecodeheader {
    font-family: Verdana, arial, helvetica, sans-serif;
    font-size: 12px;
    font-weight: bold;
}

.codebody {
    background-color: #FFFFFF;
    font-family: Courier new, courier, mono;
    font-size: 12px;
    color: #006600;
    border: 1px solid #BFBFBF;
}

.quotebody {
    background-color: #FFFFFF;
    font-family: Courier new, courier, mono;
    font-size: 12px;
    color: #660002;
    border: 1px solid #BFBFBF;
}

.listbullet {
    list-style-type: disc;
    list-style-position: inside;
}

.listdecimal {
    list-style-type: decimal;
    list-style-position: inside;
}

.listlowerroman {
    list-style-type: lower-roman;
    list-style-position: inside;
}

.listupperroman {
    list-style-type: upper-roman;
    list-style-position: inside;
}

.listloweralpha {
    list-style-type: lower-alpha;
    list-style-position: inside;
}

.listupperalpha {
    list-style-type: upper-alpha;
    list-style-position: inside;
}
-->
</style>

<?php
    //Local copy

    function BBCode($Text)
        {
            // Replace any html brackets with HTML Entities to prevent executing HTML or script
            // Don't use strip_tags here because it breaks [url] search by replacing & with amp
            $Text = str_replace("<", "&lt", $Text);
            $Text = str_replace(">", "&gt", $Text);

            // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);

            // Set up the parameters for a URL search string
            $URLSearchString = " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'";
            // Set up the parameters for a MAIL search string
            $MAILSearchString = $URLSearchString . " a-zA-Z0-9\.@";

            // Perform URL Search
            $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="$1" target="_blank">$1</a>', $Text);
            $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);
            //$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);

            // Perform MAIL Search
            $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '<a href="mailto:$1">$1</a>', $Text);
            $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.+?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);
           
            // Check for bold text
            $Text = preg_replace("(\[b\](.+?)\[\/b])is",'<span class="bold">$1</span>',$Text);

            // Check for Italics text
            $Text = preg_replace("(\[i\](.+?)\[\/i\])is",'<span class="italics">$1</span>',$Text);

            // Check for Underline text
            $Text = preg_replace("(\[u\](.+?)\[\/u\])is",'<span class="underline">$1</span>',$Text);

            // Check for strike-through text
            $Text = preg_replace("(\[s\](.+?)\[\/s\])is",'<span class="strikethrough">$1</span>',$Text);

            // Check for over-line text
            $Text = preg_replace("(\[o\](.+?)\[\/o\])is",'<span class="overline">$1</span>',$Text);

            // Check for colored text
            $Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$Text);

            // Check for sized text
            $Text = preg_replace("(\[size=(.+?)\](.+?)\[\/size\])is","<span style=\"font-size: $1px\">$2</span>",$Text);

            // Check for list text
            $Text = preg_replace("/\[list\](.+?)\[\/list\]/is", '<ul class="listbullet">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=1\](.+?)\[\/list\]/is", '<ul class="listdecimal">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=i\](.+?)\[\/list\]/s", '<ul class="listlowerroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=I\](.+?)\[\/list\]/s", '<ul class="listupperroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=a\](.+?)\[\/list\]/s", '<ul class="listloweralpha">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=A\](.+?)\[\/list\]/s", '<ul class="listupperalpha">$1</ul>' ,$Text);
            $Text = str_replace("
  • ", "<li>", $Text);

  •             // Check for font change text
                $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","<span style=\"font-family: $1;\">$2</span>",$Text);

                // Declare the format for [code] layout
                $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td class="quotecodeheader"> Code:</td>
                                    </tr>
                                    <tr>
                                        <td class="codebody">$1</td>
                                    </tr>
                              </table>';
                // Check for [code] text
                $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text);

                // Declare the format for [quote] layout
                $QuoteLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td class="quotecodeheader"> Quote:</td>
                                    </tr>
                                    <tr>
                                        <td class="quotebody">$1</td>
                                    </tr>
                              </table>';
                             
                // Check for [code] text
                $Text = preg_replace("/\[quote\](.+?)\[\/quote\]/is","$QuoteLayout", $Text);
               
                // Images
                // pathtoimage
                $Text = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $Text);
               
                // [img=widthxheight]image source[/img]
                $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" height="$2" width="$1">', $Text);
               
                return $Text;
            }
    ?>
    Avatar billede Slettet bruger
    03. marts 2004 - 22:08 #1
    Læs det indrammede område i starten af filen.

    Gem den et sted. F.eks. samme mappe, som det script, der skal bruge den.
    Avatar billede fizker Nybegynder
    03. marts 2004 - 22:14 #2
    Men har nogle et form jeg kan bruge???
    Avatar billede Ny bruger Nybegynder

    Din løsning...

    Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

    Loading billede Opret Preview
    Kategori
    Vi tilbyder markedets bedste kurser inden for webudvikling

    Log ind eller opret profil

    Hov!

    For at kunne deltage på Computerworld Eksperten skal du være logget ind.

    Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

    Du kan også logge ind via nedenstående tjenester