подсветка кода и моя функция teg конфликт

kuller

Новичок
подсветка кода и моя функция teg конфликт

для меня это очень страно. имеется такая строчка echo "<p>".htmlspecialchars(highlight_string(teg($myrow["text"]),true))."</p>";
если убрать функцию highlight_string тогда функция teg работает. в чём проблема?
вот сама функция teg
function teg($text)
{
$text = preg_replace('#\[br\](.*?)#si','<br>\1', $text);
$text = str_replace('&quot;','"', $text);
$text = preg_replace('#\[p\](.*?)\[/p\]#si','<p>\1</p>', $text);
$text = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $text);
$text = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $text);
$text = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $text);
return $text;
}
 

baev

‹°°¬•
Команда форума
И в чём проявляется «конфликт»?
 

kuller

Новичок
Автор оригинала: baev
И в чём проявляется «конфликт»?
мне нужно использовать и подсветку синтаксиса, и функцию teg. когда стоит функция подсветки, только тогда функция teg отказывается работать т.е. функция teg выводит тэги на страницу как они есть
пример:
[b.]Здраствуйте[/b]
но из функции teg видно что она должна заменять на <b>
а мне нужно чтоб была функция подсветки, и функция teg
вопрос, почему функция teg неработает когда стоит функция подсветки?
 

dimagolov

Новичок
kuller, если бы ты поинтересовался синтаксисом, то ты бы понял, что ф-я teg исполняется ДО highlight_string и наличие или отсутствие последней никак не может повлиять ни на исходные данные для teg, ни на ее работу, а значит как раз она работает так, как нужно.

особоенно порадовал под конец htmlspecialchars, зачем он там и кто его втулил объяснить можешь?
 

kuller

Новичок
Автор оригинала: dimagolov
kuller, если бы ты поинтересовался синтаксисом, то ты бы понял, что ф-я teg исполняется ДО highlight_string и наличие или отсутствие последней никак не может повлиять ни на исходные данные для teg, ни на ее работу, а значит как раз она работает так, как нужно.

особоенно порадовал под конец htmlspecialchars, зачем он там и кто его втулил объяснить можешь?
объяснить могу только одним, что я только учусь, и нащёл на одном форуме сообщение что при выводе из базы надо использовать htmlspecialchars
насчёт вопроса всё сделал, нужно было только написать так teg(htmlspecialchars(highlight_string($myrow["text"],true)))
 

dimagolov

Новичок
нащёл на одном форуме сообщение что при выводе из базы надо использовать htmlspecialchars
ну а если я напишу тебе забить гвоздь в голову ты сделаешь?
прочитай что делает htmlspecialchars и подумай когда и зачем его нужно применять. хотя, в последнем варианте, его применение уже приобретает некоторый смысл

п.с. похоже, его highlight_string подсвечивает bb кодами
 
Сверху