Как объединить две функции в одну?
Есть две функции. Первая:
require_once __DIR__ . '/vendor/autoload.php'; use Highlight\Highlighter; function applySyntaxHighlighting($content) { $pattern = '~<pre[^>]*><code[^>]*>\K.*(?=</code></pre>)~Uis'; return preg_replace_callback($pattern, function ($match) { $highlighter = new Highlighter(); $highlighter->setAutodetectLanguages([ 'html', 'php', ]); $input = htmlspecialchars_decode($match[0]); return $highlighter->highlightAuto($input)->value; }, $content); } add_filter('the_content', 'applySyntaxHighlighting', 10);
И вторая:
require_once __DIR__ . '/vendor/autoload.php'; use Highlight\Highlighter; function applySyntaxHighlighting($comment) { $pattern = '~<pre[^>]*><code[^>]*>\K.*(?=</code></pre>)~Uis'; return preg_replace_callback($pattern, function ($match) { $highlighter = new Highlighter(); $highlighter->setAutodetectLanguages([ 'html', 'php', ]); $input = htmlspecialchars_decode($match[0]); return $highlighter->highlightAuto($input)->value; }, $comment); } add_filter('comment_text', 'applySyntaxHighlighting', 10);
Можно ли их объединить в одну?
Они вроде одинаковые? зачем их объединять?
В первой $content и the_content, а во второй $comment и comment_text используется. Не одинаковые. Но при этом очень много одинакового кода, который не хотелось бы по несколько раз исполнять...
используйте одну функцию на оба фильтра, сами же функции абсолютно одинаковые
Все получилось, большое спасибо!