GeSHi (подсветка кода)

Статус
В этой теме нельзя размещать новые ответы.

BuzzDD

Постоялец
Регистрация
9 Фев 2009
Сообщения
76
Реакции
5
Ребята, как с Geshi подсвечивать определённый кусок кода, если текст (вместе с кодом) выводится из БД, т.е.

Есть БД, в ней есть поля id, text и т.д. В поле text хранится сам текст и может храниться внутри текст какой-то код. Как подсветить именно код в тегах [code*][*/code] , а то до меня вообще не доходит:(

Вот пример текста:
Текст текст Текст текст Текст текст Текст текст<br> Текст текст Текст текст
[code*]
<html><?=$var?>...</html>
[*/code]
Текст текст Текст текст
Ну вы поняли о чём я))

ps.: не нужно давать ссылки на документацию, просто покажите пример:)
 
Делай замену тегов код на соотвецтвующие теги штмл.
 
Скрытое содержимое доступно для зарегистрированных пользователей!

так что оформляй в <pre></pre>

ну или делац замену
Код:
 на <pre>
на </pre>

лучше tuekzhysvb выражениями дабы избежать лагов с незакрытыми тегами
 
Делай замену тегов код на соотвецтвующие теги штмл.
Ну сделаю я замену тегов и что?

ZCFD, скажите, Вы хоть имеете представление о Geshi ?
 
Код будет любых языков или определенного?
Если определенного, то дергаешь текст, если в нем присутствует код, тогда выдергиваешь его между тегами CODE

и вызываешь гешу

PHP:
$code = geshi_highlight($code, 'html', $path, true)
 
Если определенного, то дергаешь текст, если в нем присутствует код, тогда выдергиваешь его между тегами CODE
Можно на примере? Я в регулярных выражениях не силён:(
 
Ну если через регулярку, тогда как-то так
PHP:
$text = preg_replace('%\[code\](.*?)\[/code\]%eimsU', "geshi_highlight('\\1', 'html', '', true)", $text);
 
не поверишь
до этого топика - никакого
потом почитал и не понял к чему твой вопрос ко мне ?

первая же ссылка на мамбот, поставил на джумлу и посмотрел
если тебя интересует использование библиотеки в своих скриптах то читай вторую ссылку
Скрытое содержимое доступно для зарегистрированных пользователей!


подсветка простым вызовом функции с передачей нужных параметров
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху