Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Про подсветку php-кода

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: поправки
dmaw
Отправлено: 08 Февраля, 2010 - 13:57:48
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




Взял скрипт для подсветки кода, но есть загвоздка, в подсвечиваемом коде приходится экранировать ковычки:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //подавляем предупреждение
  3. //цветной php-код
  4. function highlight_code($color_code)
  5. {
  6. echo '<div id="color_code" style="background-color:#DDF1FF; width:600px; padding:15px; margin:20px">';
  7. $color_code = stripslashes($color_code);
  8. if(!strpos($color_code,"<?") && substr($color_code,0,2)!="<?") {
  9. $color_code="<?PHP \n".trim($color_code)."\n?>";
  10. }  
  11. $color_code = trim($color_code);
  12. return highlight_string($color_code,true);
  13. echo '</div>';
  14. }
  15.  
  16. //php-код
  17. $color_code = '
  18.  
  19. //здесь код, который нужно подсветить
  20. echo "работает";
  21. echo 'не работает';
  22. echo \'работает\';
  23.  
  24. ';
  25. //цветной php-код
  26. echo highlight_code($color_code);
  27. ?>

Эту гадость можно как-то обойти?
Пробовал заменить на:
PHP:
скопировать код в буфер обмена
  1. //php-код
  2. $color_code = <<<PHP
  3.  
  4. //здесь код, который нужно подсветить
  5. echo "работает";
  6. echo 'работает';
  7. echo $pere; //не работает, пропадает переменная
  8. echo \$pere; //работает :(
  9.  
  10. PHP;

Короче сам решения не нашёл.
(Добавление)
А вот такую строчку и вовсе не хочет "красить":
PHP:
скопировать код в буфер обмена
  1. $user_email = $_POST['user_email'];

Ошибка: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in

(Отредактировано автором: 08 Февраля, 2010 - 14:17:47)

 
 Top
JustUserR
Отправлено: 08 Февраля, 2010 - 17:01:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Цитата:
echo 'не работает';
Конечно не работает ведь это непроэкранированные одинарные кавычки внутри строки ограниченной одинарными кавычками - уж тогда испольузет HERE-строки для хранения кода


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
dmaw
Отправлено: 08 Февраля, 2010 - 17:11:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


Помог: 0 раз(а)




JustUserR пишет:
ж тогда испольузет HERE-строки для хранения кода

Дык не помогает. Приходится $ экранировать т.е. писать \$peremenaya
 
 Top
JustUserR
Отправлено: 08 Февраля, 2010 - 17:26:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dmaw пишет:
Дык не помогает. Приходится $ экранировать т.е. писать \$peremenaya
По-другому особенно не получится - вы можете попробовать считывать содержимое файла который вам надо подсветить - в таком случае проблем не бдует потому что двойной подстановки переменных не осуществляется


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB