zend-blog-3-backend
28 строк · 734.0 Байт
1<?php
2
3namespace App\Utils;
4
5use App\Utils\Pygment\Highlighted;
6
7class Pygment
8{
9/**
10* @param string $content
11* @param string $lexer
12*
13* @return Highlighted
14*/
15public static function highlight(string $content, string $lexer): Highlighted
16{
17$file = sys_get_temp_dir() . '/pygments_' . time();
18file_put_contents($file, $content);
19
20$outputTable = [];
21$outputInline = [];
22exec('pygmentize -f html -l ' . $lexer . ' -O linenos=table ' . escapeshellarg($file), $outputTable);
23exec('pygmentize -f html -l ' . $lexer . ' ' . escapeshellarg($file), $outputInline);
24unlink($file);
25
26return new Highlighted($outputTable, $outputInline);
27}
28}
29