Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Подсветка синтаксиса кода [3]
Вот после ?> дописало */ ну и подсветка естественно неправильная.
И строка с управляющими кострукциями все также подсвечиваеться...
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
OrmaJever
Отправлено: 17 Января, 2013 - 02:57:54
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" Саныч я чёт не могу понять, может мы на разные сайты код вводим?))))))
Вот скрины, я только что проверил этот код.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Саныч
Отправлено: 17 Января, 2013 - 03:41:22
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" если вставить код скопированный с форума, то все норма, но там добвляются переносы строк.
Если же я вставляю код с редактора, там переносов строк нет (обрати внимание на скрин) и вот он уже нормально не отображается и в конце дописываются символы */ Я обвел их там кружком для наглядности. Прикреплено изображение (Нажмите для увеличения)
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
EuGen
Отправлено: 17 Января, 2013 - 04:24:50
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" Eval, к примеру, не подсветился. Подозреваю, что и все функции там регистрозависимы(тогда как в php - нет)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
OrmaJever
Отправлено: 17 Января, 2013 - 05:08:18
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Eval, к примеру, не подсветился. Подозреваю, что и все функции там регистрозависимы(тогда как в php - нет)
Исправлено.
Блин Саныч Мне надо больше информации. Дай скрин как есть в редакторе и как есть у меня, и обьсни чего там в редакторе нет. (Добавление)
А я тем временем добавил приведение типов (int), (string) ...
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Саныч
Отправлено: 17 Января, 2013 - 05:51:46
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
OrmaJever
Отправлено: 17 Января, 2013 - 07:18:42
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" Добавил:
1) Если нет ни одного тега <? то код весь код считается как php.
2) Добавил забытый 3 вид коментариев #
3) Нашёл узкое место из-за которого код работал в 5 раз медленее. Исправил.
4) Саныч Исправил проблему с коментариями, сам это увидел когда смотрел код ipb.
5) Потихоньку начал учить парсер подсказывать ошибки. Пока только 3 вида ошибок (переменая начинается с числа, не закрытый heredoc и незакрытая строка).
В планах пользовательские константы, но блин с ними столько нюансов.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
OrmaJever
Отправлено: 17 Января, 2013 - 08:02:10
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Вчера у меня был вечер без интернета и было время поразмыслить над кодом, обдумал логику и поменял приоритеты парсинга слов, вобщем пепеписал большую часть кода что позволило подсвечивать пользовательские константы. Так же зделал подсветку 3 видов скобок "(luneQuote)" "{figureQuote}" "[sqrQuote]".
Теперь этот код мне начинает нравится.
Киньте ещё пару кодом туда если не лень, особено те с котрыми раньше были проблемы.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
esterio
Отправлено: 17 Января, 2013 - 08:45:38
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
esterio, а где вы свой способ описывали? Я похоже пропустил что-то.
Я вот над своим JS парсером второй день уже безуспешно бьюсь и все чаще прихожу к мысли, что OrmaJever все-таки прав, с регулярками трудно учесть полностью все. Все равно вылазят какие-то ошибки и недочеты... В итоге задумываюсь переделать его на посимвольное чтение. Пока не решил, в раздумьях еще, вот думал может у вас какая-то другая идея будет
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
OrmaJever
Отправлено: 17 Января, 2013 - 10:12:34
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" опять какие-то проблемы с коментариями, кто их только придумал... Придётся переписывать наверно метод коментариев.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
esterio
Отправлено: 17 Января, 2013 - 10:56:02
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" Саныч http://forum.php.su/topic.php?fo...92725#1358092725
в ПХП есть встроеная функция которая фозвращает массив после парсинга ядром. Но вот искал для JS - такого не было. Есть правда мысль использовать движок фокса или V9 от гугля, но тогда должен крутиться демон(не уверен получиться ли, никогда не лез в даного рода движки). Ну и еще может есть на стороне клиента возможность, должен как-то браузер парсить JS. МБ стоить почитать АПИ, незнаю. Но вот для ПыХы все намного проще (Добавление)
OrmaJever пишет:
опять какие-то проблемы с коментариями, кто их только придумал... Придётся переписывать наверно метод коментариев.
Та да, у Вас там походу идет парсинг phpDoc. Слижком много вариантов. Если не секрет сколько в строк(не символов) уместилась регулярка, или Вы несколькома делаете, и вообще сколько код весит. Интересно
И да Саныч прав, составлять список трудоемкый процес
OrmaJever
Отправлено: 17 Января, 2013 - 11:39:30
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" блин один и тот же метод парсинга пробельных символов уже 3 раз виноват... я его правлю, а он без спросу перемещается по строкам и снова портит подсветку. Исправил окончательно.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
esterio
Отправлено: 17 Января, 2013 - 12:22:58
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.