![]() |
|
Модераторы: 2man |
![]()
|
|
| 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), а толку в них ноль. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Другие движки / фрейморки | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |