Цитата (FatCat @ 4.11.2009 - 13:19) |
А заодно, если можно, упростить архитектуру: нужен код функции, которая получает текст и отдает форматированный текст. Иначе я замучаюсь ее в форумный ООП засовывать. |
Так это вроде есть /includes/sh_functions.php: highlite_code($text) и перевод обратно: unhighlite_code($input).
Цитата (FatCat @ 4.11.2009 - 13:19) |
Если подсветки разных языков, тогда по функции на каждый язык... |
highlite_code($text) - эта функция подсвечивает все языки, тоесть из форумного парсера все парсеры блоков кода можно заменить на эту функцию.
Цитата (FatCat @ 4.11.2009 - 13:19) |
У нас здесь все в 1251-й. |
окей.
Цитата (kirik @ 4.11.2009 - 22:27) |
highlite_code($text) - эта функция подсвечивает все языки |
Она вызывает функцию highlighter. Та в свою очередь, еще какие-то функции вызывает небось, файлы инклюдит...
Оно конечно можно и в таком виде в наш движок впихнуть, но я стараюсь придерживаться стандартных процедур нашего движка: индексный подключает файлы модулей, модули подключают библиотеки, библиотеки уже ничего не подключают. Так вот парсер - библиотека.
Впрочем, делай как тебе удобней, я думаю у меня не займет много времени роазмотать твои инклюды в линейную последовательность операторов пхп для обработки текста.
_____________
Бесплатному сыру в дырки не заглядывают...
Цитата (FatCat @ 4.11.2009 - 13:44) |
Она вызывает функцию highlighter. Та в свою очередь, еще какие-то функции вызывает небось, файлы инклюдит... |
Да, highlighter уже вызывает саму библиотеку, а библиотека подгружает автоматом необходимые файлы подсветки (языки), которые будут использоваться при подсветке - сделано для того, чтобы лишних инклюдов не делать. Если нужно, можно их подключить сразу и передать в библиотеку (там в index.php рассмотрены оба случая), тогда библиотека ничего не будет больше инклюдить.
Вот, прикрепил версию для работы с 1251, проверь пожалуйста.
Еще я убрал простую подсветку html кода за ненадобностью, он будет подсвечиваться так же как и [code ] тэг, тоесть если есть вкрапления css/js/php - подсветит все по-своему.
Ага, скачал, завтра гляну.
_____________
Бесплатному сыру в дырки не заглядывают...
Подключил. Пробуем.
Сохранил возможность редактирования старых кодов. При сохранении редактированного, сохраняет уже новым алгоритмом.
_____________
Бесплатному сыру в дырки не заглядывают...
Цитата (FatCat @ 5.11.2009 - 12:14) |
Подключил. Пробуем. |
О, круто!) Ща заценим))
Одна штука: слэши экранирующие как-то странно обрезаются.. (при редактировании, попробуй отредактировать этот пост) и похоже по этой же причине не верно подсвечивается (тут должно быть синим "\n", а не только слэш)
$header = "MIME-Version: 1.0\\n";
И тут какое-то странное поведение слэшей - они при отправки поста экранируются, а при редактировании вообще пропадают
function Recordar(){
$header = "MIME-Version: 1.0\\n";
$header.= "Content-Type: text/html; charset=ISO-8859-1\\n";
$CONFIG['mail_to']="javi.fernandez@ipdea.com";
$header.= "From: ".$CONFIG['mail_to']."\\n";
$ok = mail($select->ItemCol(0,'email'), 'Recordatorio de datos SEPD', $cuerpo, $header);
if ($ok){
$xml.="<resultado>1</resultado>";
}else{
$xml.="<resultado>0</resultado>";
}
}else{
$xml.="<resultado>0</resultado>";
}
$xml.= "\\n</xml>";
header("Content-Type: text/xml;charset=ISO-8859-1");
echo $xml;
}
ЗЫ иконки JS, CSS я сегодня нарисую..
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.