PHP-функция, которая выполняет синтаксический анализ цвета синтаксиса для нескольких языков?

StackOverflow https://stackoverflow.com/questions/307210

  •  08-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Почему бы не использовать синтаксическую окраску на стороне клиента?

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

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

Другие советы

На самом деле вам, вероятно, было бы лучше отформатировать его в javascript.Существует несколько зрелых цветов синтаксиса javascript.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top