PEAR İle Kod Renklendirme
Bu yazı 1 yıl 6 ay 8 gün önce yayınlanmış olduğundan güncelliğini yitirmiş veya içeriğindeki bilgilerin geçerliliği kaybolmuş olabilir. Herhangi bir yanlış anlaşılmadan bu site sorumlu değildir.
Her ne kadar kod renklendirme için GeSHi kütüphanesi tercih ediliyor olsa da, ben PEAR kütüphanesini sizlere sevdirme maksadıyla PEAR’ın kod renklendirme(Highlighter) bileşenini kurup, tanıtımını yapacağım
Öncelikle işe PEAR yüklememize bu paketi kurmakla başlayalım.
http://pear.php.net/package/Text_Highlighter/download adresinden, Text_Highlighter bileşenini indirip arşivden çıkartalım. İçerisindeki “Text_Highlighter” klasörünün ismini “Text” olarak değiştirip, PEAR yüklememizde, System.php ile aynı seviyede olacak şekilde kopyalayalım. Artık paketin kullanıma hazır olması gerekmektedir. Aşağıdaki kodları bir php dosyasına kaydedip, PEAR kurulumunu yaptığımız sunucuya yollayalım ve çalıştıralım.
<?php
// CSS dosyasını import ediyoruz
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />";
echo "<link rel='stylesheet' type='text/css' href='PEAR/Text/sample.css'>";
// Kod renklendirme bileşenini import ediyoruz
require_once("PEAR/Text/Highlighter.php");
// Renklendirilmesini istediğimiz kodları bu değişkene aktarıyoruz
$code = "<?php
// Bu bir yorum satırıdır!
\$mesaj = \"Hello, world!\";
echo \$mesaj;
?>";
// Yukarıdaki kodumuzun hangi dilde olduğunu belirtiyoruz.
/* Alabilecek Değerler
ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL
PERL, PHP, PYTHON, RUBY, SH, SQL, VBSCRIPT, XML
*/
$lang = "PHP";
// Sınıf tanımlaması
$phpRenklendirici =& Text_Highlighter::factory($lang);
// Class içerisindeki highlight methodunu çağır ve ekrana bas
echo $phpRenklendirici->highlight($code);
?>
Bu kodu çalıştırdığınızda, eğer herşey sorunsuz giderse yandaki gibi görüntü ile karşılaşacaksınız. Hata alırsanız, PEAR yüklemenizin doğru kurulup kurulmadığını ve bileşenin yolunu kontrol ediniz. Bunlara rağmen hata alırsanız, yorumlar kısmına yazmaktan çekinmeyin
Benzer yazılar:
SDU - Bilgisayar Programcılığı mezunuyum. Sıkı bir Linuxçu ve Özgür Yazılım felsefesini benimsemiş biriyim.