март 30 2007

Подсветка php кода

Подсветка php кода

Небольшой хак, позволяющий установить подсветку PHP для тега [сode]

Открываем файл engine/inc/parse.class.php и находим в нём следующие строки:

function decodeBBCodes($txt, $use_html=TRUE, $wysiwig = "no") {

        global $config;

        $find = array (); $result = array ();
        $txt=stripslashes($txt);

после них вставляем:

########## Vbif update
$txt = preg_replace( "#<font color=\#(.+?)>#", '', $txt ); 
$txt = preg_replace( "#</font>#", '', $txt );
########## Vbif update

далее ниже находим строки:

        $txt = preg_replace( "#\s{1};#" , ";" , $txt );
        $txt = preg_replace( "#\t#"   , "    ", $txt );
        $txt = preg_replace( "#\s{2}#", "  "            , $txt );

и после них вставляем следующее:

########## Vbif update
// Открывающие и закрывающие тэги
$tegs = array("'<\?php'si", "'<\?'si", "'\?>'si");
$replace = array("<font color=#FF0000><?php</font>",
"<font color=#FF0000><?</font>",
"<font color=#FF0000>?></font>");
$txt = preg_replace($tegs, $replace, $txt);
// Подсветка комментариев                 
$txt = preg_replace("'(/\*.*?\*/)'si", "<font color=#777777>\\1</font>", $txt);
// Подсветка переменных                  
$txt = preg_replace("'([\$]{1,2}[0-9A-Za-z_]+)'si", "<font color=#660000>\\1</font>", $txt); 
// Подсветка знаков равенства                  
$txt = preg_replace("'(\s={1,3}\s)'", "<font color=#8000FF>\\1</font>", $txt);
// Подсветка зарезервированных слов
$str = array("'(\becho)'si",  "'(\bprint)'si",  "'(\bwhile)'si",  "'(\bif)'si",
"'(\bifelse)'si","'(\belse)'si",   "'(\bfor\b)'si",    "'(\bswitch\b)'si",
"'(\bcase)'si",  "'(\breturn\b)'si", "'(\barray)'si",  "'(\bfunction\b)'si",
"'(\bforeach)'si","'(\bclass\b)'si",  "'(\bglobal\b)'si", "'(\bvar\b)'si",
"'(\bisset)'si", "'(\bempty)'si",  "'(\bfalse\b)'si",  "'(\btrue\b)'si",
"'(\bas\b)'si",  "'(\bempty)'si",  "'(\bfalse\b)'si",  "'(\btrue\b)'si",
"'(\binclude)'si","'(\binclude_once)'si", "'(\brequire)'si", "'(\brequire_once)'si");
$replace = array_fill(0, count($str), "<font color=#0000FF>\\1</font>");
$txt = preg_replace($str, $replace, $txt);                           
########## Vbif update

Комментарии

Bagir

Bagir

30 марта 2007 18:21 Клиенты
0
smile прикольно, а в следущем релизе нельзя это всунуть?
Barthez

Barthez

30 марта 2007 21:56 Посетители
0
зы у меня непашет обясните почему а хак классный wink
nguyennghiaua

nguyennghiaua

31 марта 2007 23:05 Посетители
0
tфi khфng thể gх tiếng Việt ở đвu lа thế nаo ? angry
FraLL

FraLL

2 апреля 2007 13:58 Клиенты
0
клёво! lol
opaliha

opaliha

2 апреля 2007 18:35 Клиенты
0
Эх, люди пытаются что-то писать на языке программирования, не удасужевшись прочитать официальную документацию к этому языку... Прискорбно... sad

здесь расположен велосипед, который придуман в новости
Legonavt

Legonavt

2 апреля 2007 19:50 Посетители
0
Бесполезный модуль.Поставьте себе UltraEdit это гораздо круче и лучше.
Snow Land

Snow Land

3 апреля 2007 21:10 Посетители
0
preg_replace(); работает ужасно медленно!
А если его много - то вообще ужас.
celsoft

celsoft

3 апреля 2007 21:36 Администраторы
0
Цитата: Snow Land
preg_replace(); работает ужасно медленно!

это не критично, тем более что текст обрабатывается только один раз в момент ее добавления в базу данных
kirbak

kirbak

4 апреля 2007 15:12 Посетители
0
Использовать php бред. Гораздо лучше подойдёт для этого javascript, код будет подсвечиваться на стороне клиента.
Pacifik

Pacifik

10 мая 2007 12:10 Клиенты
0
kirbak, Так реализуй и выложи, мы оценим, что тут языком молоть в пустоту.
celsoft - спасибо, нормально работает!
Mr 13

Mr 13

22 мая 2007 23:09 Посетители
0
wink
Barthez

Barthez

26 июля 2007 23:41 Посетители
0
wink
b333

b333

19 марта 2009 09:50 Посетители
0
Афигеть, искал етот мод, а в 7.5 нету файла engine/inc/parse.class.php
b333

b333

12 мая 2009 16:41 Посетители
0
Открываем файл engine/inc/parse.class.php и находим в нём следующие строки

В новых версия файлы классов хранятся в папке classes

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Календарь
«    Июнь 2017    »
ПнВтСрЧтПтСбВс
 1234
567891011
12131415161718
19202122232425
2627282930 
Опрос на сайте
Совершаете ли вы покупки в интернет?

Популярные новости
Архив новостей
Июнь 2017 (1)
Апрель 2017 (3)
Март 2017 (2)
Февраль 2017 (1)
Январь 2017 (1)
Декабрь 2016 (3)