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.
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
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
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno