Loading:


    Jak zrobić kolorowanie kodu w artykule użycie znaczników [kod] [/kod]

    Skrypt pokaże wam jak zrobić aby treść artukułu zawarta między znacznikami [kod] [/kod] została profesjonalnie pokolorowana. Aby to zrobić napiszemy własną klasę BBcode w PHP, do kolorowania kodu użyjemy biblioteki GESHI


    1. Pobieramy bibliotekę geshi [ Pobierz ]


    rozpakowujemy ją i umieszczamy w głównym katalogu naszej strony.


    2. Tworzymy plik PHP który będzie pobierał biblioteke geshi i wykonywał kolorowanie kodu.



    Napisz Artyku³

    Listing


    <?php
    include_once('geshi/geshi.php'); // tutaj zaciągamy biblioteke geshi

    // ta funkcja odpowiada za kolorowanie kodu
    // drugi parametr oznacza typ jakim chcemy kolorować ja ustawiłem php ale jest mnóstwo innych możliwości można podać np css, sql , html
    function kolor($kod){
    $geshi=& new GeSHi($kod , 'php');
    $geshi->set_header_type(GESHI_HEADER_NORMAL);
    return $geshi->parse_code();
    }

    // Ta funkcja oddziela kod zarwarty między znacznikami [kod] [/kod] i koloruje kod przy użyciu funkji kolor, dodatkoto umieszcza go w warstwie DIV
    function bbcode($s)
    {
        $s = str_replace("]\n", "]", $s);
        $match = array('#\[kod\](.*?)\[\/kod\]#se');
        $replace = array("'<div class=\"kod\">'.kolor(stripslashes('$1')).'</div>'");
        return preg_replace($match, $replace, $s);
    }

    // A teraz kolorujemy kod
    $NaszTekst = "Tutaj jest tekst
                  [kod]<?php echo 'tutaj jest kod'; ?>[/kod]
                  Tutaj dalsza czesc tekstu
                  [kod]<?php echo 'tutaj jakis inny kod'; ?>[/kod]
                  "
    ;

    // podałem zmienną $NaszTekst  dla przykładu jeśli np chcemy pokolorować kod z tekstu przesłanego z formularza kod wyglądał by np tak:

    // $NaszTekst = $_POST['tekst_z_formularza'];


    // Wyświetlamy kod
    echo bbcode(stripslashes($NaszTekst));

    ?>




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
    Ja tylko dodam, że takie same znaczniki (w tej samej formie [funkcja][/funkcja]) działają na większości forum. Jest to również przydatne rozwiązanie dla budowania Wysiwyg (czyli internetowych edytorów textów)
    autor: Divix | 49 | 2009-01-12 18:58:47


      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors