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

 PHP.SU

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


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

> Без описания
OrmaJever
Отправлено: 24 Декабря, 2013 - 20:28:14
Post Id



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


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


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




Что притихли? Напишите хоть мнение, полезная или нет такая подсветка, насколько правильно она работает, чего не хватает.
Наконец то довёл второй параметр до более менее нормальной работы и как обещал расскажу о нём. Второй параметр это callback, он принимает один параметр, в этот параметр будет передаваться весь текст за тегами php, например есть код
CODE (htmlphp):
скопировать код в буфер обмена
  1. text1
  2. <? /* php code */ ?>
  3. text2

функция будет вызвана 2 раза с параметрами "text1" и "text2". Сделал это для того что бы вы сами на php могли подсветить css, html или javascript как желаете, хотя можете использовать как угодно. Пример:
PHP:
скопировать код в буфер обмена
  1. php_highlight($_POST['code'], function($text) {
  2.    return '<font color=red>'.nl2br(htmlspecialchars($text)).'</font>';
  3. });

Подсветит весь текст за тегами красным цветом. Ах да, забыл сказать что всё что вернёт ваша функция будет просто дописано в результат, никакой обработки не будет, поэтому вы сами должны позаботится о замене \n на <br>, и замене спец символов (от xxs)

(Отредактировано автором: 24 Декабря, 2013 - 20:29:04)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
OrmaJever
Отправлено: 30 Декабря, 2013 - 22:12:29
Post Id



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


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


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




А вы только посмотрите как я распарсил namespace. Новый css класс "namespace".


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 30 Декабря, 2013 - 23:02:32
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




а динамическая подсветка в клиенте типа веб IDE
???
это было бы круто
слабо?
(Добавление)
в JS
(Добавление)
чтоб шаблоны рисовать с подсветкой
 
 Top
OrmaJever
Отправлено: 30 Декабря, 2013 - 23:07:51
Post Id



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


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


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




не понял Растерялся


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DeepVarvar Супермодератор
Отправлено: 31 Декабря, 2013 - 06:54:28
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




OrmaJever на 5.3 не запашет у меня?
 
 Top
Мелкий Супермодератор
Отправлено: 31 Декабря, 2013 - 09:51:16
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




DeepVarvar, на 5.3.28 собрал и запустил успешно.


-----
PostgreSQL DBA
 
 Top
OrmaJever
Отправлено: 31 Декабря, 2013 - 13:42:53
Post Id



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


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


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




DeepVarvar под линукс должно собратся под любую версию, это под винду я собрал только под 5.4 и 5.5 т.к. когда я пытался собирать под 5.3 в мире умирал один котик и я бросил это дело, те кто сидит под виндой скачивайте последние версии.


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


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




OrmaJever пишет:
не понял
у jino видел недавно редактор с подсветкой на js
но там для php файлов(ну я видел только php файл)
можно править в браузере
было бы круто сделать подобное для правки шаблонов в админке
хотябы только для html
(Добавление)
причем там подсветка динамическая без отправки запросов ...всё в js
 
 Top
OrmaJever
Отправлено: 31 Декабря, 2013 - 19:31:26
Post Id



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


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


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




динамическая это в смысле вводишь и он тебе сразу подсвечивает как в редактора? Ну во-первых это как ты правильно сказал нужно писать на js, а с ним у меня похуже чем с плюсами, и во-вторых таких решений очень много, то есть уже есть много онлайн редакторов , и тем более каждая ide это умеет, а я же решил написать именно php extension потому что альтернатив нет или почти нет, на любом веб сайте код подсвечивается стандартной функции которая реально слабая, и вот даже здесь на форуме иногда очень хочется подсветку покруче.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
IllusionMH
Отправлено: 31 Декабря, 2013 - 19:40:22
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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





LIME, не понимаю как js реализация должна относиться к данной Улыбка
Если не ошибаюсь то если взять prism и заглянуть как его используют в dabblet (изначально его отсюда форкнули и допилили) то можно сделать аналогично.
Когда-то была такая мысля, но отпала необходимость.

(Отредактировано автором: 31 Декабря, 2013 - 20:09:45)

 
 Top
LIME
Отправлено: 31 Декабря, 2013 - 20:14:35
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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





OrmaJever да...мое предложение не в тему...надо было оффтопом оформить...неподумал сорь
IllusionMH пишет:
Когда-то была такая мысля, но отпала необходимость.
аналогично
а что за призм?...не хватает интеллекта понять что это есть такое
OrmaJever пишет:
таких решений очень много
как-то не нашел с ходу

(Добавление)
IllusionMH есть екзамплы?
(Добавление)
OrmaJever пишет:
динамическая это в смысле вводишь и он тебе сразу подсвечивает как в редактора?
именно ...динамическая это антоним статической...то есть не просто тегами подсветил и показал...ну ты понял
 
 Top
OrmaJever
Отправлено: 31 Декабря, 2013 - 20:30:44
Post Id



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


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


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




LIME пишет:
как-то не нашел с ходу

ну я имел в виду что-то типа jsfiddle.net только для php, если честно я не пользовался никогда онлайн редакторами, но думаю парсинг кода на php тоже должен быть.
LIME пишет:
именно ...динамическая это антоним статической...то есть не просто тегами подсветил и показал...ну ты понял

Ну я то понял, подсветка на ходу и как я понимаю прямо в texarea, и вот ту я настолько слабо знаю клиентскую часть что даже не представляю как изменить стили текста в textarea.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LIME
Отправлено: 31 Декабря, 2013 - 20:36:06
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




OrmaJever вот вот...я тоже слабоват
а в texarea конечно стили не сменишь
придется его содержимое в див пхать и там рулить
ну как собстно все тиньки и кедиторы и делают
но вот только еслиб динамически подсвечивали...
киньте ссылку кто знает
 
 Top
IllusionMH
Отправлено: 31 Декабря, 2013 - 20:48:11
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




LIME, там упрощенная подсветка кода основанная на регулярках.
http://prismjs[dot]com/ собственно сайт
http://prismjs[dot]com/test[dot]html примеры
Есть возможность подсветить пхп. В примерах ввод и результат разделены(как это и подразумевается изначально - статическая подсветка кода)
Но этот же prism используют в http://dabblet[dot]com , так что можно допилить до подсветки непосредственно в поле редактирования.

(Отредактировано автором: 31 Декабря, 2013 - 20:48:43)

 
 Top
OrmaJever
Отправлено: 31 Декабря, 2013 - 20:51:49
Post Id



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


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


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




LIME хотя может я и не прав. Только что посмотрел тот же jsfiddle, и он подсвечивает достаточно банально пару типов токенов, а для php онлайн редактора вообще не нашёл, но возможно это потому что он не нужен? Ну вот кто будет писать php скрипт в онлайн редакторе? Я лично не представляю как я это делаю когда есть прекрасные онлайн решения на плюсах которые гораздо быстрее думают.


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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB