Статья: подсветка кода в PHP.



Php-web-дизайн > Php подсветка


Здесь показана функция, которая меняет цвет текста, в данном случае под php-разметку. Переменные $a, $b, $c, $d - это цвета. Все слова в переменной $tring - это, подсвеченные функцией light слова... Функция изменяет цвета только в строках.

function light ($str){
$a = "<font color=000000>"; $b = "<font color=0000ff>";
$c = "<font color=000080>"; $d = "<font color=ff0000>";
$tring="spliti preg_match_all Location elseif touch unlink split abs microtime else empty eregi_replace eregi trim strlen explode list int count ereg_replace substr break if echo date time function usort fclose fputs fopen foreach mail file_exists global sleep return is_file while getenv FALSE is_readable clearstatcache exit header array gethostbyaddr setcookie sizeof flock filesize str_replace include ereg file for each";
$cheng = explode (" ", $tring);
$strok = explode (" ", $str);
$str="";
for($ii=0; $ii < sizeof($strok); $ii++){
for($i=0; $i < sizeof($cheng); $i++){
if(eregi("$cheng[$i]", $strok[$ii])){
preg_match_all("/(^|[^a-zA-Z0-9_%\$])($cheng[$i])([^a-zA-Z0-9_]|$)/", $strok[$ii], $array);
while(list($key, $val) = each ($array[0])){
$strok[$ii] = eregi_replace ("$cheng[$i]","<b>$cheng[$i]</b>",$strok[$ii]);
}
}
}
$str .= " $strok[$ii]";
}
$str = eregi_replace ("\(", "$b<b>(</b></font>", $str);
$str = eregi_replace ("\)", "$b<b>)</b></font>", $str);
$str = eregi_replace ("\{", "$b<b>{</b></font>", $str);
$str = eregi_replace ("\}", "$b<b>}</b></font>", $str);
$str = eregi_replace ("&lt;\?","$d<b>&lt;?</b></font>", $str);
$str = eregi_replace ("\?&gt;","$d<b>?&gt;</b></font>", $str);
$str = eregi_replace ("&lt;html&gt;","$d&lt;html&gt;</font>", $str);
$str = eregi_replace ("&lt;\/html&gt;","$d&lt;/html&gt;</font>", $str);
$str = eregi_replace ("&lt;body&gt;","$d&lt;body&gt;</font>", $str);
$str = eregi_replace ("&lt;\/body&gt;","$d&lt;/body&gt;</font>", $str);
$str = eregi_replace ("\?>","$d<b>?&gt;</b></font>", $str);
$str = eregi_replace ("&lt;html>","$d&lt;html&gt;</font>", $str);
$str = eregi_replace ("&lt;\/html>","$d&lt;/html&gt;</font>", $str);
$str = eregi_replace ("&lt;body>","$d&lt;body&gt;</font>", $str);
$str = eregi_replace ("&lt;\/body>","$d&lt;/body&gt;</font>", $str);
$cheng = explode (" ", $str);
$str ="";
for($i=0; $i < sizeof($cheng); $i++){
if (eregi("(^|[^\w\W]*)(\\\${1,2}[\w]*)([^\W]*|$)", $cheng[$i])){
preg_match_all("/(^|[^\w\W]*)(\\\${1,2}[\w]*)([^\W]*|$)/", $cheng[$i], $array);
while(list($key, $val) = each ($array[0])){
list($a1,$a2) = explode ("\$",$val);
$val_sss = "\\" ."\$" ."$a2";
$val = "\$"."$a2";
$cheng[$i] = eregi_replace ("$val_sss", "$c$val</font>", $cheng[$i]);
}
}
$str .= " $cheng[$i]";
}
return $str;
}



Как воспользоваться функцией? Возможный сценарий:
<?
// считываем ваш файл в массив строк и запускаем цикл
$general = @file("ваш_файл.htm");
for($i = 0 ; $i < count($general); $i++){
// изменяем цвета слов в строках
$general[$i] = light ($general[$i]);
// печатаем строки с изменениями
echo" $general[$i] ";
}
?>


Автор: Александр Устюгов

Информация свидетельство о безопасности конструкции транспортного средства тут.


При перепечатке информации делайте, пожалуйста, ссылку на наш сайт (либо поделиться вконтакте, гугл+ или ретвит статьи). Спасибо!

Источник: www.wr-script.ru©, 2004-2020г.

Делитесь с друзьями в соцсетях. Активные комментаторы получают свежие скрипты и бесплатные доработки от WR-Script.ru!

Вернуться к статьям помощи WEB-мастеру

WR-Счётчик