Функция PHP, которая выполняет синтаксический анализ цвета для нескольких языков? - PullRequest
0 голосов
/ 21 ноября 2008

Я делаю сайт PHP, который отображает примеры кода на разных языках (C #, PHP, Perl, Ruby и т. Д.). Существуют ли функции PHP, которые добавляют синтаксическую раскраску для этих и других языков?

Если нет, я хотел бы, по крайней мере, найти ту встроенную функцию PHP, которая выполняет раскраску синтаксиса для кода PHP, больше не могу ее найти. Спасибо.

Ответы [ 4 ]

4 голосов
/ 21 ноября 2008

Почему бы не сделать окраску синтаксиса на стороне клиента?

Используйте prettify.js , это действительно универсально, Google Code и StackOverflow используют его!

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

2 голосов
/ 21 ноября 2008

Возможно, вам лучше отформатировать его в javascript. Есть несколько зрелых цветов синтаксиса JavaScript.

1 голос
/ 21 ноября 2008

Для подсветки PHP используйте highlight_string () . (Это может хорошо работать и с другими языками.)

Редактировать: Эта функция требует, чтобы строка начиналась с открывающего тега PHP. Что я сделал на своем сайте, чтобы обойти это, я передал что-то вроде "<?php\n$code\n?>" в функцию highlight_string (), а затем использовал регулярное выражение, чтобы убрать начальные и конечные теги, которые я добавил. Этот метод очень хорошо работал для выделения C / C ++, Scheme и Java (и PHP, не имеющие тегов <?php ?>.)

0 голосов
/ 21 ноября 2008

Как уже упоминалось, Google prettify.js действительно хорош, но если вы хотите сделать это на сервере в PHP, вы можете попробовать посмотреть на Pear Text Highlighter

...