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 :: Подсветка синтаксиса кода [6]
ps а в нетбинс еще методы классов подсвечиваются (Добавление)
с HEREDOC вообще html код вылез http://clip2net[dot]com/s/2HSbu (Добавление)
вот вам код для опытов
это всё из-за пробелов, если отступы зделаны пробелами то они не заменяются на html пробелы, они просто тображаются в исходном коде, потом я подумаю над этим. Заменяются только табы.
DelphinPRO пишет:
с HEREDOC вообще html код вылез http://clip2net.com/s/2HSbu
забыл экранизацию, исправил. (Добавление)
Исправил пробелы. Ну вот к вечеру вырисовывается неплохая подсветка
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DeepVarvar
Отправлено: 17 Января, 2013 - 21:54:43
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" Fatal error: Maximum execution time of 20 seconds exceeded in .../highlight.class.php on line 124
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" код? (Добавление)
ага понял, не закрытый коментарий, исправил. (Добавление)
Добавил подсветку стандартных классов, пока только в операторе new, тоесть статический вызов не подсвечивается.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DelphinPRO
Отправлено: 17 Января, 2013 - 21:54:49
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Были наброски кода и идея зделать мир лучше, но всё небыло времени, но Саныч меня вдохновил, и я решил закончить начатое.
А я сегодня весь день свой JSSyntaxHighlighter допиливаю, перепиливаю
Я особо не тестил, всунул первый попавшийся кусок кода, что был под рукой. В итоге:
0. была строка, в которой перечислены управляющие конструкции (if, for, catch и др.). Все они подсветились и сожрались табы перед ними. Но ведь это строка...
1. проблема с многострочными комментами, как и у меня была помнишь? Жрет по максимуму, убери жадность в регулярке.
2. Плюс дописало */ в самом конце кода, хоть его там не было.
3. цвета конечно ядовые))
з.ы. не хочешь заморочиться и сделать подсветку стандартных функций/методов? Не всех, хотя бы базовых. Если не изменяет память их там чуть больше тысячи (Добавление)
еще косячек. В коде
Сожрало плюсы. Вместо них 2 неразрывных пробела. (Добавление)
Еще хорошо юы подсвечивать приведение типов (int) (string) и др. И константы тоже как-то выделять.
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
OrmaJever
Отправлено: 17 Января, 2013 - 21:54:55
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
0. была строка, в которой перечислены управляющие конструкции (if, for, catch и др.). Все они подсветились и сожрались табы перед ними. Но ведь это строка...
Не понял, что это за строка?
Саныч пишет:
1. проблема с многострочными комментами, как и у меня была помнишь? Жрет по максимуму, убери жадность в регулярке.
2. Плюс дописало */ в самом конце кода, хоть его там не было.
да я же это исправил вроде, если нет то дай пример кода.
Саныч пишет:
Сожрало плюсы. Вместо них 2 неразрывных пробела.
Парсер посчитал что они там не нужны Ладно щас исправлю.
Саныч пишет:
Еще хорошо юы подсвечивать приведение типов (int) (string) и др.
Блин точно! Вот чего не хватает!
Саныч пишет:
И константы тоже как-то выделять.
Константы весч интересная, их можно перепутать с именем класса, или функцией, но уже есть пару идей по их парсингу, скоро зделаю.
Саныч пишет:
Жрет по максимуму, убери жадность в регулярке.
Парсер не использует ни единой регулярки.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Саныч
Отправлено: 17 Января, 2013 - 21:54:58
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
да я же это исправил вроде, если нет то дай пример кода.
Прикрепил скрин
OrmaJever пишет:
Парсер не использует не единой регулярки.
А как тогда? Построчно/посимвольно читаешь?
OrmaJever пишет:
Константы весч интересная, их можно перепутать с именем класса, или функцией, но уже есть пару идей по их парсингу, скоро зделаю.
Заранее по ходу разбора кода писать в массив все устанавливаемые константы, ну дальше понятно думаю... Прикреплено изображение (Нажмите для увеличения)
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
DelphinPRO
Отправлено: 17 Января, 2013 - 21:55:01
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" OrmaJever я бы на вашем месте подумал о написании тестов. все-таки много нюансов придется учитывать — ручной проверкой все не уследишь
----- Чем больше узнаю, тем больше я не знаю.
DeepVarvar
Отправлено: 17 Января, 2013 - 21:55:04
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Перенесено из темы "Подсветка синтаксиса PHP" 0) При отсутствии открывающего <?php подсветка не корректна.
1) Нет подсветки статических классов и их методов.
2) "Хавает" пробелы у комментариев.
Код уже проходит и не падает на лимите времени, ты видимо что-то там в этот момент редактировал.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.