Перейти к контенту
  • 0

PHP tag


Jax

Вопрос

В общем, в пост_парсер.пхп сделал такое:

 

Добавил:

	//---------------------------------
	 // Do [PHP] tag
	 //---------------------------------
	 
	 $txt = preg_replace( "#\[php\](.+?)\[/php\]#ies", "\$this->regex_php_tag('\\1')", $txt );

 

и такое:

$txt = preg_replace( "#<!--php1-->(.+?)<!--ephp1-->(.+?)<!--php2-->(.+?)<!--ephp2-->#e", "\$this->unconvert_php('\\2')", $txt );

 

потом вставил эту функ-ю

function unconvert_php($txt)
{
 $txt = str_replace("<br />", "\n", $txt);
 $txt = str_replace("<code>", "", $txt);
 $txt = str_replace("</code>", "", $txt);
 $txt = preg_replace("#\<font(.+?)>#", "", $txt);
 $txt = str_replace("</font>", "", $txt);
 
 return '[PHP]' . $txt . '[/PHP]';
}

 

И в конечном счете

 

/**************************************************/
// regex_php_tag: Builds this php tag HTML
// 
/**************************************************/

function regex_php_tag($txt="") {
 global $ibforums;
 
 $default = "\[php\]$txt\[/php\]";
 
 if ($txt == "") return;
 
 // Too many embedded code/quote/html/sql tags can crash Opera and Moz
 
 if (preg_match( "/\[(quote|code|html|sql|php)\].+?\[(quote|code|html|sql|php)\].+?\[(quote|code|html|sql|php)\].+?\[(quote|code|html|sql|php)\].+?\[(quote|code|html|sql|php)\].+?\[(quote|code|html|sql|php)\].+?\[(quote|code|html|sql|php)\]/i", $txt) ) {
	 return $default;
 }
 
 $txt = @html_entity_decode($txt, ENT_QUOTES);
 $txt = str_replace("$", "$", $txt);
 
 if(substr_count($txt, "?>") <= 0)
 {
	 $txt = "<?php\n\n" . $txt . "\n\n?>";
 }
 
 $txt = highlight_string($txt, 1);
 
 $txt = str_replace("<code>", "", $txt);
 $txt = str_replace("</code>", "", $txt);
 
 while(preg_match("#\n$#", $txt))
 {
	 $txt = preg_replace("#\n$#", "", $txt);
 }
   
 // Take a stab at removing most of the common
 // smilie characters.
 
 //$txt = str_replace( "&" , "&", $txt );
 $txt = preg_replace( "#<#"   , "<", $txt );
 $txt = preg_replace( "#>#"   , ">", $txt );
 $txt = preg_replace( "#"#" , """, $txt );
 $txt = preg_replace( "#:#"      , ":", $txt );
 $txt = preg_replace( "#\[#"     , "[", $txt );
 $txt = preg_replace( "#\]#"     , "]", $txt );
 $txt = preg_replace( "#\)#"     , ")", $txt );
 $txt = preg_replace( "#\(#"     , "(", $txt );
 $txt = preg_replace( "#\r#"     , "<br />", $txt );
 $txt = preg_replace( "#\n#"     , "<br />", $txt );
 $txt = preg_replace( "#\s{1};#" , ";", $txt );

 // Ensure that spacing is preserved
 
 $txt = preg_replace( "#\s{2}#", "  ", $txt );
 
 //fix stupid line break bug;
 $txt = preg_replace("#^\<font color=\"\#000000\">\<br />#", "", $txt);
 $txt = preg_replace("#\<br />\</font>$#", "", $txt);
 
 $html = $this->wrap_style( array( 'STYLE' => 'PHP' ) );
 
 return "<!--php1-->{$html['START']}<!--ephp1-->$txt<!--php2-->{$html['END']}<!--ephp2-->";
 
}

 

При у меня автоматически в коде вставляется <?php ?> и при убирании его и кода, пропадает расцветка. Как быть?

Не хочу, чтобы он писался в коде.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

Пока что нет ответов на этот вопрос

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.