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

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


Очень удобный хак который помогает тем кто добавляет новости с примером кода. Данный хак для DLE выводит подсветку HTML в текстах взятых в тег code тем самым сам текст выглядит более наглядным для пользователей сайта.
Установка:
Открываем файл engine/classes/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};#" , "&#59;" , $txt );
$txt = preg_replace( "#\t#"   , "&nbsp;&nbsp;&nbsp;&nbsp;", $txt );
$txt = preg_replace( "#\s{2}#", "&nbsp;&nbsp;"            , $txt );


Ниже добавляем:

########## Vbif update
// Открывающие и закрывающие тэги
$tegs = array("'&#60;\?php'si", "'&#60;\?'si", "'\?&#62;'si");
$replace = array("<font color=#FF0000>&#60;?php</font>",
"<font color=#FF0000>&#60;?</font>",
"<font color=#FF0000>?&#62;</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
Другие новости по теме:

Категория: Хаки ----- Просмотров: 1364 ----- Комментариев: 11

Вернуться

  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
а назад оно парсить будет? тоесть добавлю я новость с "подсвеченным кодом", а потом когда решу её отредактировать получу хз что или то что добавлялось изначально?
  • Группа: User
  • ICQ: --
  • Регистрация: 16.08.2008
  • Комментариев: 156
  • Публикаций: 2
^
как то тут все запутано... ведь функция подсвечивающая код highlight_string()
например:
<?
$code='<?
echo "тест <br>";
echo now();
?>';
highlight_string($code);

?>

Результат работы этого кода:
<?
echo "тест <br>";
echo now();
?>
  • Группа: User
  • ICQ: --
  • Регистрация: 27.12.2009
  • Комментариев: 1
  • Публикаций: 0
^
А у меня почему-то не работает (: Dle 8.3
  • Группа: User
  • ICQ: 477778842
  • Регистрация: 13.02.2010
  • Комментариев: 31
  • Публикаций: 2
^
У меня на dle 8.3 и dle 8.5 не пашет!!!!

--------------------
  • SKDzR

  • 2 мая 2010 14:07
  • Группа: User
  • ICQ: 819585
  • Регистрация: 1.08.2008
  • Комментариев: 102
  • Публикаций: 11
^
Подсветка HTML кода

а на скрине php код smile

--------------------
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
хак - *акашка, парсить нужно при выводе данных с БД, а не при их добавлении

Dimas-rap функция highlight_string() будет работать если ей отдаётся законченный код, если лишь кусок кода - подсветки не будет.
  • Группа: User
  • ICQ: 3144777
  • Регистрация: 2.08.2008
  • Комментариев: 62
  • Публикаций: 7
^
есть куча решений на яве
http://web-devil.ru/web/javascript/190-podsvetka-programnogo-koda-na-sajjta
kh-javascript.html
реализовано у меня на сайте

--------------------
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
ява - лажа, ИМХО http://i.piccy.info/i5/26/63/66326/1_.png
  • Группа: User
  • ICQ: 3144777
  • Регистрация: 2.08.2008
  • Комментариев: 62
  • Публикаций: 7
^
стример,
яву включи css через яву грузится

ява вещь

--------------------
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Сайт девила поплыл... Мозг тоже через яву включаешь?
  • Группа: User
  • ICQ: 3144777
  • Регистрация: 2.08.2008
  • Комментариев: 62
  • Публикаций: 7
^
ghostinshell,
nq

--------------------