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 :: Подсветка синтаксиса кода [4]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (7): « 1 2 3 [4] 5 6 7 »   

> Описание: PHP, JavaScript, HTML, CSS
OrmaJever Модератор
Отправлено: 17 Января, 2013 - 13:06:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
esterio пишет:
Та да, у Вас там походу идет парсинг phpDoc. Слижком много вариантов. Если не секрет сколько в строк(не символов) уместилась регулярка, или Вы несколькома делаете, и вообще сколько код весит. Интересно

я же говорил в моём коде не используется не одна регулярка, да и вобще из стандартных php функций там мало что используется, htmlentities в основном и strlen. На теперешний момент файл с кодом имеет 539 строк, но я пишу каждую фигурную скобку с новой строки поэтому ~20% строк это просто фигурные скобки. Файл веси 16 496 байт.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
esterio
Отправлено: 17 Января, 2013 - 13:49:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
Ну если Вы делаете JS и PHP, то может мне стоит сделать HTML. О тм намного проще,
Вариантов несколько
1. регулярки
2. domDocument
3. js на стороне клиента

Если завтра успешно здадим проект то думаю возьмусь
 
 Top
Саныч Модератор
Отправлено: 17 Января, 2013 - 14:33:22
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
OrmaJever пишет:
опять какие-то проблемы с коментариями
Я бы даже сказал они вобще не работают... Однострочные нормально, многострочнуе - первые символы /* подсечиваются и дальше все...

esterio, понял. Не думаю что с использованием этой функции упроститься задача. Тем более судя по комментариям с ней не все впорядке...
Для JS не знаю... Браузер то полюбому как-то парсит код, но вот на сколько я знаю API для этого нет никаких. Но я его все равно сделаю, как на серваке так и на клиенте!

esterio пишет:
И да Саныч прав, составлять список трудоемкый процес
Не особо трудоемкий, нудный просто... У меня к примеру массив стандартных свойств, методов и констант javascript-а получился почти 550 элементов. На составление потрачено: 1 день и пол ночи Улыбка


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
esterio
Отправлено: 17 Января, 2013 - 15:16:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
Саныч пишет:
Не думаю что с использованием этой функции упроститься задача

Последний комент год назад, думаю счас подправили, но не уверен, а так использовал для своего автоматического автолоадера классов, он у меня составляет список с путями, вроде проблем не было, или потому что травлю только свой код
(Добавление)
Саныч пишет:
1 день и пол ночи

Делов то, сутку потратить, я ленивый человек, ту же сутку сидел и делал бы парсер докы)))
 
 Top
Саныч Модератор
Отправлено: 17 Января, 2013 - 16:00:18
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
esterio пишет:
Ну если Вы делаете JS и PHP, то может мне стоит сделать HTML. О тм намного проще,
Вариантов несколько
1. регулярки
2. domDocument
3. js на стороне клиента
Делайте конечно, оценим, потестируем, может в итоге объединим все наши наработки в единый проект.
Только знайте, я парсер HTML и CSS уже написал Улыбка
HTML - ровно 20 строк, 3 регулярки
CSS - 25 строк, 5 регулярок. Но буду переписывать, не нравится мне он...

О знаю! До SQL еще никто из нас не добрался Улыбка


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
esterio
Отправлено: 17 Января, 2013 - 16:43:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
Саныч пишет:
О знаю! До SQL еще никто из нас не добрался

Нахмурился Нахмурился Нахмурился
Ну тогда наверно то что нужно раз все уже есть.
Счас посмотрю что уже есть из имеещого арсенала
 
 Top
Саныч Модератор
Отправлено: 17 Января, 2013 - 17:27:14
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
esterio пишет:
Делов то, сутку потратить, я ленивый человек, ту же сутку сидел и делал бы парсер докы)))
Знаете как я в итоге поступил?.. Написал маленький кодик на js который выдавал мне строку всех доступных свойств и методов. Запустил его во всех браузерах, и скопировал полученые строки в массив. Затем еще один маленький кодик на php который показал мне, какие методы и свойства есть во всех браузерах. Ну, а затем полученный массив уже вручную фильтровался, выстраивалась иерархия, незнакомые/подзабытые свойства отыскивались в документации, гугле, короче решалось нужно ли оно мне или нет... В итоге 550 и почти сутки, с перерывами конечно, но все же...


OrmaJever, может нам объеденить наши темы, а то мы тут уже как-то смешали и php и js...


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
OrmaJever Модератор
Отправлено: 17 Января, 2013 - 18:10:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
Саныч пишет:
HTML - ровно 20 строк, 3 регулярки
CSS - 25 строк, 5 регулярок. Но буду переписывать, не нравится мне он...

Можно усложнить задачу, HTML5, CSS3
Саныч пишет:
О знаю! До SQL еще никто из нас не добрался

Спокойно, он мой. Хорошо Я только пока не придумал как отличить sql запрос от обычной строки. Если регуляркой то какой?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
esterio
Отправлено: 17 Января, 2013 - 18:54:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
http://www.phpclasses[dot]org/browse/file/24895[dot]html
вот нарыл, если взять за основу, можно хорошо переделать, а так главное основа есть(тоесть список ключевых слов, я же говорил что ленив я)
 
 Top
Саныч Модератор
Отправлено: 17 Января, 2013 - 19:37:38
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
OrmaJever пишет:
Можно усложнить задачу, HTML5, CSS3
Ну изначально так и задумывалось и вроде бы так и получилось, но... как всегда есть но, сейчас там именно подсетка, т.е. светим разными цветами и все... а хочеться сделать именно умный парсер, чтоб была подсетка ошибок, возможно автоисправление... По этому, я думаю они будут еще ни раз переписаны Ха-ха

OrmaJever пишет:
Я только пока не придумал как отличить sql запрос от обычной строки. Если регуляркой то какой?
Я думал сначало проверять строку на наличие таких слов как SELECT, INSERT, ALTER, FROM... ну ты понял. А дальше уже либо гонять через регулярки, либо посимвольно разбирать...


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
esterio
Отправлено: 17 Января, 2013 - 20:21:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
Саныч
Да чет я до такого не додумался. Ето ж прикольно. а прототипи учитивали?

Да конечно стоить обьеденит, под названием парсеры кода или как то так.
OrmaJever пишет:
Спокойно, он мой. Хорошо Я только пока не придумал как отличить sql запрос от обычной строки. Если регуляркой то какой?

Ну думаю после практикы з PHP я Вам не конкурент Радость Радость
(Добавление)
Саныч
О только что рпишла мысля одна, в notepad++ есть все ключевые слова(или почти все)
Вот кусок конфига для ПыХы
Спойлер (Отобразить)


Весь не бросал так как слишком большой, вот как можно сделать раз и на все языки
 
 Top
OrmaJever Модератор
Отправлено: 17 Января, 2013 - 21:04:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
Так хватит тут не по теме говорить, Кидайте коды в парсер, мне важны ошибки.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Саныч Модератор
Отправлено: 17 Января, 2013 - 21:11:51
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
esterio пишет:
а прототипи учитивали?
Естественно. Весь js собственно на них и построен.

esterio пишет:
О только что рпишла мысля одна, в notepad++ есть все ключевые слова(или почти все)
Ну так этож ключевые слова... Их мало, очень мало... Мне же нужны были методы и свойства, а их notepad++ не светит. К примеру Dreamweaver, которым я постоянно пользуюсь, светит, но далеко не все... Но он их как светит, просто видит "знакомое" слово и светит его, без разбора. К примеру я могу написать var parse, и он его подсветит, я же хочу написать, чтоб он еще и "думал", что нужно светить, а что нет. К тому же в js есть свойства/методы которые есть только, к примеру, у объекта window, есть которые только у document, только у нодов, а есть такие что везде, но кроме window и т.д. и т.п. И вот все это хочу учесть...

OrmaJever пишет:
Так хватит тут не по теме говорить, Кидайте коды в парсер, мне важны ошибки.
Все молчу, молчу, молчу... Улыбка Улыбка

я кинул пару кодов, вроде нормально... по крайней мере комменты работают Улыбка


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
esterio
Отправлено: 17 Января, 2013 - 21:19:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
ок извините за оффтоп
А так далее статическые вызовы не работают, Цвет обьекта хорошо бы другим цветом
(Добавление)
PHP:
скопировать код в буфер обмена
  1. if (vmShouldDebug()) {  /*@MWM1: Log/Debug enhancements */
  2.          $end = utime();
  3.          $runtime = $end - $start;
  4.          
  5.          include( PAGEPATH . "shop.debug.php" );
  6.       }


Вот код из джумлы. Вызов vmShouldDebug не подсветился
 
 Top
OrmaJever Модератор
Отправлено: 17 Января, 2013 - 21:26:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Перенесено из темы "Подсветка синтаксиса PHP"
esterio пишет:
А так далее статическые вызовы не работают, Цвет обьекта хорошо бы другим цветом

я не совсем понял, но обьект это переменая и они подсвечиввается как переменая потому что
1) иначе была бы неразбериха и радуга
2) более важное что мой парсер не знает типов переменых, он ещё глупенький.

А статический вызов по имени класса должен подсвечивать это имя, если это не так то код в студию.
С именами класов и констант могут быть проблемы, но не потому что что-то сломалось, а потому что я это не учёл.
Классы подсвечиваются либо после оператора new либо если за именем стоит :: или имя переменой и если это не имя стандартной функции или ключевого слова.
Константы подсвечиваются после классов и проверяется что бы после имени константы небыло ( или {, других случаев я не вспомнил.
(Добавление)
esterio пишет:
Вот код из джумлы. Вызов vmShouldDebug не подсветился

Пользовательские функции не подсвечиваются, вроде и хотел зделать и откладывал, сейчас займусь.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (7): « 1 2 3 [4] 5 6 7 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB