Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Подсветка синтаксиса HTML
Здесь показана функция, которая меняет цвет текста, в данном случае под php-разметку. Переменные $a, $b, $c, $d - это цвета. Все слова в переменной $tring - это, подсвеченные функцией light слова... Функция изменяет цвета в любом документе.
function light ($str){
$a = "<span style='color:#000000'>"; $b = "<span style='color:#0000ff'>";
$c = "<span style='color:#000080'>"; $d = "<span style='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></span>", $str);
$str = eregi_replace ("\)", "$b<b>)</b></span>", $str);
$str = eregi_replace ("\{", "$b<b>{</b></span>", $str);
$str = eregi_replace ("\}", "$b<b>}</b></span>", $str);
$str = eregi_replace ("<\?","$d<b><?</b></span>", $str);
$str = eregi_replace ("\?>","$d<b>?></b></span>", $str);
$str = eregi_replace ("<html>","$d<html></span>", $str);
$str = eregi_replace ("<\/html>","$d</html></span>", $str);
$str = eregi_replace ("<body>","$d<body></span>", $str);
$str = eregi_replace ("<\/body>","$d</body></span>", $str);
$str = eregi_replace ("\?>","$d<b>?></b></span>", $str);
$str = eregi_replace ("<html>","$d<html></span>", $str);
$str = eregi_replace ("<\/html>","$d</html></span>", $str);
$str = eregi_replace ("<body>","$d<body></span>", $str);
$str = eregi_replace ("<\/body>","$d</body></span>", $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</span>", $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] ";
}
.
Прокомментировать/Отблагодарить