Rap
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Rap

Rap
 
AnasayfaLatest imagesAramaKayıt OlGiriş yap

 

 PHP Kodu Renklendirme

Aşağa gitmek 
YazarMesaj
The_SaS
Admin
Admin
The_SaS


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

PHP Kodu Renklendirme Empty
MesajKonu: PHP Kodu Renklendirme   PHP Kodu Renklendirme Icon_minitimePtsi 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
https://sistem.yetkin-forum.com
 
PHP Kodu Renklendirme
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-

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