Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как сделать чтоб php код вообще нечитался(для публикация статей по php)
 
 автор: JIEXA   (18.12.2004 в 00:41)   письмо автору
 
 

Вообщем делаю свою CMS и сейчас возник вопрос: а как сделать так чтобы пшп код не читался, а выводился на странице и чтоб он был раскрашен.
Если не трудно дайте кусок кода который будет так делать
ЗЫ: пробывал htnlspecialchars - не получилось (((

   
 
 автор: glsv (Дизайнер)   (18.12.2004 в 00:58)   письмо автору
 
   для: JIEXA   (18.12.2004 в 00:41)
 

Для этого предназначена функция highlight_string()
Формат функции следующий:
mixed highlight_string ( string str [, bool return])

str - строка с php-кодом.
Параметр return управляет выводом. Если return равно true, то подсвеченный код возвращается функцией.
<?$code highlight_string ($str true);?>


Если return=false, то вывод подсвеченного кода в браузер происходит сразу же при вызове функции.

   
 
 автор: JIEXA   (18.12.2004 в 01:02)   письмо автору
 
   для: glsv (Дизайнер)   (18.12.2004 в 00:58)
 

Я не ожидал что мне так быстро ответят спасибо, но я немного не то имел ввиду мне бы хотелось чтобы к примеру как у вас в форуме какой нибудь код заключить в code /code (они в квадратных скобках, я не стал писать, а то они не отобразятся) и этот текст форматировался плиз скажите как

   
 
 автор: glsv (Дизайнер)   (18.12.2004 в 02:24)   письмо автору
 
   для: JIEXA   (18.12.2004 в 01:02)
 

А также и сделано, как я показал выше.
Только плюс в табличку заносятся. Ну и поиск тегов code идет. Вот код соответсвующего участка форума:


<?
    
// Обрабатываем теги <code>, </code>
    
$text "<code>";
    
$lastocc 0;
    
$sndocc 1;
    
$result "";
    while(
$sndocc)
    {
      
$fstocc strpos($postbody,"<code>",$lastocc);
      
$sndocc strpos($postbody,"</code>",$fstocc);
      if((
$fstocc>&& $sndocc>&& $lastocc>0) || ($fstocc >= && $sndocc>&& $lastocc == 0))
      {
        
$result .= nl2br(htmlspecialchars(substr($postbody,$lastocc,$fstocc $lastocc)));
        
$result .= "<table border=0 ><tr><td class=codeblock>".highlight_string(substr($postbody,$fstocc 6,$sndocc $fstocc 6),true)."</td></tr></table>";
        
$lastocc $sndocc 7;
      }
?>


Разберетесь?

PS: поскольку code в квадратных скобках не отображаются, то в вышеприведенном коде code в угловых скобках следует заменить на code в квадратных.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования