Rap

Rap
 
AnasayfaAramaKayıt OlGiriş yap

Paylaş | 
 

 PHP Kodu Renklendirme

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
The_SaS
Admin
Admin
avatar

Mesaj Sayısı : 67
Kayıt tarihi : 12/04/08
Nerden : ßir Köylü çocugu

MesajKonu: PHP Kodu Renklendirme   Ptsi Nis. 14, 2008 9:58 am

PHP nin diğer web scripting dillerine göre bir üstünlüğü de kendi kodlarını rahat okunmasını sağlayacak şekilde renklerle düzenleyebilmesi.
Bunun için sadece basit bir fonksiyon kullanıyoruz. Ama bu fonksiyon sadece verilen bir kodu renklendirebiliyor.

Peki yazdığımız makalele ve dokumanlardaki php kodlarını otomatik olarak bulup renklendirmesini istersek?

PHP Alemini ilk açtığımda bulduğum yeni php tekniklerini gösterirken, yazdıgım örnek kodları tek tek kendim renklendirmek zorunda kalıyordum. Acaba bu işi yapmanın kolay bir yolu yok muydu? Başladım manual i karıştırmaya. Evet php de kod highlighting fonksiyonları vardı. Ama bence biraz yetersizler çünkü mevcut üç fonksiyonda sadece verilen kaynağı renkli olarak ekrana basabiliyorlar. Peki bence neleri eksik?

Verilen kaynağı işlemden geçirdikten sonra değişkenkenlere atayamıyorlar.

Karışık(text+code) bir kaynakta tarama yaparak ilgili kısımları renklendiremiyorlar.
Renk kodları statik(Açık arkaplan için düşünülmüş). Yani Sayfa renklerinizin koyu bir renk olması kodun okunmasını zorlaştırıyor.

Bu fonksiyonların açıklarını kapatacak yeni fonksiyonlarımı tanıtmadan önce mevcut bu üç fonksiyona bir gözatalım.

<?
highlight_string("string") //string kısmına php kodu yazmalısınız.
highlight_file ("string filename") //php kodu içeren dosya yolu kullanılarak dosya içeriğini basar.
show_source (string filename) // Üsttek fonksiyonla işlevi aynıdır.
?>

Ewet gördüğünüz gibi hepsinin işlevi hemen hemen aynı.

Peki bir kodu renklendirdikten sonra nasıl bir değişkende saklayabiliriz. Bunu için output kontrol fonksiyonlarını kullanmamız lazım. Burada bu fonksiyonlardan bahsetmeyeceğim. Ama konu ile ilgili online manual(output control) ı burada bulabilirsiniz.

Renklendirimiş kodu değişkene atayan fonksiyon:

<?
function phpcode($code)
{

ob_start();
highlight_string(stripslashes($code));
$buffer = ob_get_contents();
ob_end_clean();

return $buffer;
}
?>

Peki diyelimki tıpkı bu sayfada olduğu gibi karışık(text + php + html) bir dosyanız var. Bu sayfadaki sadece ilgili kodları nasıl renklendirirsiniz. Bunun için tek yapmanız gereken bir Regex araştırması ile kodları bulup yukardaki fonksiyonu ugulamak yani:

<?php
/* Bu örnek arama ve kaplama işinde ben yazıma [ php ] ile başlayıp [ /php ] ile biten kodları aratıyorum. Bu benim kişsel terchim. Tabii istenirse direkt olarak <?php ve ?> kelimeleri de aranabilir. */
preg_replace('/[php][nr]*(.+?)[nr]*[/php]/esi',"phpcode('\1')",$mixtext);
?>

Son olarak arkaplanı koyu sayfalar için yazdıgım highlighting fonksiyonuna bir gözatalım:

<?php
// Bu fonksiyon default php.ini dosyasındaki değeler için tasarlanmıştır.
function phpcode($code)
{
ob_start();
highlight_string(stripslashes($code));
$buffer = ob_get_contents();
ob_end_clean();
$buffer = eregi_replace("000000","CCCCCC",$buffer);
$buffer = eregi_replace("006600","33cc00",$buffer);
$buffer = eregi_replace("0000CC","0099ff",$buffer);
$buffer = eregi_replace("CC0000","ffffcc",$buffer);
return $buffer;
}
?>
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://sistem.forum0.net
 
PHP Kodu Renklendirme
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Video oynatma Fbml kodu
» Google Site İçi Arama Kodu !
» Şerit Menü
» Vb Üst Menü
» Üst Menülü Css Tasarım Yapımı

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Rap :: ASP, Perl, Php, Html-
Buraya geçin: