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: 28716
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-2024 v.1.5 | design: diviXdesign & rainbowcolors