![]() |
Модераторы: 2man |
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Просьба протестировать:
http://test.mal-hack.net/highlight/ Думаю что как все поймут. Пока сделал PHP, HTML и CSS, после общих доработок займусь Perl'ом и JavaScript. Естественно принимаются предложения по поводу кода. Класс в аттаче, а ниже инициализация:
Присоединённый файл ( Кол-во скачиваний: 25 ) ![]() |
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 7 Всего: 55 |
[/code] есть небольшая разница ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Фишка в том, что preg_match_all у тебя объявляться не может
![]() Т.е. ты сам не можешь объявить уже существующую функцию в языке. Поэтому после function болдом не выделяется % ![]() ![]() |
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 7 Всего: 55 |
Mal Hack
мы уже поговорили об этом по аське ![]() |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
вот так попробуй. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Вроде поправил. Сенкс. |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
Mal Hack теперь так
![]() |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 3 Всего: 73 |
Все это до тела функции initSock выделяется как комментарий ![]() -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Так, существенно исправил подцветку PHP. Если глюков не будет, буду доисправлять остальное.
Протестите плз ![]() http://test.mal-hack.net/highlight/ ЗЫ: Один глюк пока есть, но он странный какой-то ![]() ![]() |
|||
|
||||
S.A.P. |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
У меня что то ни с того ни с сего скрипт стал слэши к строкам добавлять, хотя минуту наз все было ОК.
И вроде вот эта строка баги выдавала, сейчас уже проверить не могу.
Добавлено @ 00:40 Да, точно и вот это еще во внимание возьми
Добавлено @ 00:41 Там баг с другим эффектом ![]() |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Это я отлаживал в режиме онлайн.
Уже нормально. Подцвчивается, как литерал. |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
Может слишком придираюсь, но вот
|
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Все правильно ![]() ![]() ![]() Глюк с
Поправил. Это сообщение отредактировал(а) Mal Hack - 15.3.2005, 01:20 |
||||
|
|||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
![]() Теперь так.
Добавлено @ 09:00 ИМХО подход в алгоритме не правильный. Надо было все через один рег делать. |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Исправил.
Дык как ты через одинг рэг узнаешь что ты нашел, комментарий или литерал? Или литерал в комментарии или комментарий в литерале? ![]() |
||||
|
|||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
Mal Hack в случае с одним регом, если литерал будет в комментарии, то ты найдешь комментарий, а не литерал, в том то вся и фишка
![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Perchilla
Хорошо. Вот такой случай:
|
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
А что здесь мудренного? кавычка поле слова GET? Она и не будет найдена. preg поймает комментраий от // до конца строки и заменит его.
Добавлено @ 18:46 Кстати, вот еще
|
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Хорошо:
В общем... Как сделать с помощью одной регулярки я не могу понять (сообразить) технически. ЗЫ: Аплодил новую версию. Вроде исправил все глюки, которые я сам видел раньше. Добавлено @ 18:51
Исправил. |
||||
|
|||||
S.A.P. |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
ну аналогичная фигня
(return не горит, скорее всего else съедает пробел, а следующий оператор не может его найти).
((".*?")|(\/\/.*?\n)) примерно так, проверять времени нет. Все это дело меняешь на функцию, в которой находишь, к какому из имеющихся шаблонов односиться найденная подстрока. То же самое я делал на JavaScript, сам алгоритм всего на 30 строчек был, не считая шаблонов, а шаблоны туда можно было подставлять любые, хоть для CSS, потому что там нету разделения на операторы, комментарии, литералы и т.д. Все шабломы группируются в цикле ![]() Это сообщение отредактировал(а) Perchilla - 15.3.2005, 19:05 |
||||||
|
|||||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Я понять не могу, по какому принципу он вынимать должен?
|
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
вот шаблон ((".*?")|(\/\/.*?\n)) он свормировался у нас из 2-х шаблонов: строк и комментариев, находящихся в одном массиве. По нему винимается либо строка, заключенная в кавычки, либо комментарий до конца строки, что первее попадется. Если строка в комментарии, что программа ее даже не увидет, потому что заменит комментарий и пойдет себе дальше.
Все, часть строки вынули, передали ее в функцию, а там уже смотрим: у нас есть массив шаблонов и стилей, перебираем их, пока не найдем тот шаблон, что соответствует найденной подстроке и возвращаем ее со стилем, соответствуюшим шаблону. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Хорошо... Но..
При таком правиле будет как строка "khf\" и комментарий //sdfsdf "; |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
Ну можно же такой шаблон туда залепить
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Так, хорошо, а как потом это дело внутри функции распознавать?
Как ты потом подцвкчивал переменные и зарезервированные слова? |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
|
|||
|
||||
Guest |
|
|||
Unregistered |
Зачем интересно изобретать что-то, когда уже есть специальная функция для подцветки..?
Mal Hack лишний раз подтвердилось, знания есть, а применить не можешь. |
|||
|
||||
Guest |
|
|||
Unregistered |
Не баг, но небольшой недочет. Русские буквы в именах функций использовать можно=) т.е. пока твой скрипт function Вася() не подсветит
|
|||
|
||||
Mal Hack |
|
||||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
А меня она не устраивает
А че анонимно-то?
Буду думать... |
||||||
|
|||||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 3 Всего: 73 |
mx, Можешь похвастаться большим опытом разработки веб систем? От тебя тут всего пять мессаг (во всяком случае под этим IP), а толку в них ноль. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
||||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Не работает у тебя CSS
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
пока только ПХП
|
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
Ишходники в студию, а то так еще неделю будем тестировать
![]() Вот пока
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Балин.
![]() Завтра исправлю, код покажу. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Исправил. Плиз потестите (только PHP).
http://test.mal-hack.net/highlight/test.php Исходник: http://test.mal-hack.net/highlight/class.highlight-v1.0.rar ЗЫ: Линки на мануал функций не лишнее? Это сообщение отредактировал(а) Mal Hack - 18.3.2005, 18:59 |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
С ходу ![]() Исходник попозже гляну. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Блин.. Исправил
![]() Исходник обновил. |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 3 Всего: 73 |
Mal Hack, на счет линков на ман хорошо придумано.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Сделал CSS и HTML.
|
|||
|
||||
R1+erGr1n |
|
|||
Unregistered |
Попробуй ввести PHP код, который ты указал в 1 посте
|
|||
|
||||
Guest |
|
|||
Unregistered |
Странно, программа не режет теги, а на твоем примере все нормально.
Обнови архив, если конечно можно. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 4 Всего: 261 |
Хм... В версиях я уже точно запутался. Залил на хост файл с последней датой модификации.
В архив положил его же. Не проверял. Присоединённый файл ( Кол-во скачиваний: 25 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие движки / фрейморки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |