Обычная задача - додсветка комментария /* */, но надо убрать от туда все конструкции вида <span style="(.*?)"> и </span>. Пробую так: PHP: <?php preg_repalce('#(/\*)[^((\x3C\/span\x3E)|(\x3Cspan\x20style="(.*?)"\x3E))](.*?)(\*/)#ui', '$0', $s); естественно не получается... Чувствую какуюто хрень намутил. Помогите, пожалуйста.
Вот, может кому пригодиться: PHP: <?php $s = preg_replace_callback('#(/\*)(.*?)(\*/)#ui', create_function('$matches', '$matches[0] = preg_replace("#((\x3Cspan\x20style=\x22(.*?)\x22\x3E)|(\x3C/span\x3E))#iu", " ", $matches[0]); return "<span style=\x22color: #08aadd;\x22>" . $matches[0] . "</span>";') , $s); Я не жадный
веришь, нет, что-то не припомню такой велосипедной задачи =) если это подсветка синтаксиса пыха, так highlight_string в помощь, цвета там настраиваются
Mr.M.I.T. подсветка - подсветка, но не только php, а и всего остального, сейчас занимаюсь, подсветкой с bb-тэгами и всем подобным, так что всякое в голове крутиться...
Не знаю. Сам делаю. Хочу все сам. Был бы рад за помощь в описаниях синтаксиса: Python, Django, Perl, Ruby, Java, Smalltalk, cpp, c#, 1c, vbscript. А остальные и сам смогу
скачал, разархивировал, посмотрел, не понравилось, продолжаю в том же духе... ps: хоть регулярки подучил...
Я так каждый раз их подучиваю и каждый раз успеваю всё забыть до следующей задачки. И приходится опять подучивать
А, ну да, я попользуюсь... Hight Дак, я вообще не знал, почти ничего, условия там эти, назад, вперед смотрящие и все такое....
antonn Слы а ты ее не юзал. Она херово себя ведет с mbstring.func_overload. Не знаешь что сделать надо?
Не захватывает выражение в скобках (Не делает из него backreference). Таких выражений много, вроде (?= или (?<= и даже с указанием модификатора только для группы.
Ребят. Никто не работал с GeShi? Она падло не пашет при mbstring.func_overload > 0. Может взять, да все функции переписать в ней под перегружаемые и u добавить в preg_* или че проще посоветуете?
флоппик наверно придется везде отключать... Блин все приложение переводить на 1251 из-за одной либы (
И все таки наверно можно что то сделать, чувствуется мне... Все вроде нормально работает когда я передаю конвертированный в однобайтовый текст. PHP: <?php $Highlighter = new GeSHi(mb_convert_encoding($this->_sCode, 'ANSI', 'UTF-8'), $this->_sLangName); Только тогда, например комментарии в коде, которые в базу записались в UTF-8 отображаются как ???. Но кириллица же однобайтовая, почему так?