Підсвічування 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( “##”, “, $txt );
$txt = preg_replace( “##”, “, $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”);
$replace = array(““);
$txt = preg_replace($tegs, $replace, $txt);
// Підсвічування коментарів
$txt = preg_replace(“‘(/\*.*?\*/)’si”, “\\1”, $txt);
// Підсвічування змінних
$txt = preg_replace(“‘([\$]{1,2}[0-9A-Za-z_]+)’si”, “\\1”, $txt);
// Підсвічування знаків рівності
$txt = preg_replace(“‘(\s={1,3}\s)'”, “\\1”, $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), “\\1”);
$txt = preg_replace($str, $replace, $txt);
########## Vbif update
243