]*>/i', '', $content); // Удаление всего после символа "|" в заголовке $content = preg_replace_callback('/(.*?)<\/h\1>/', function($matches) { $text = explode('|', $matches[2])[0]; // Убираем все, что после | return "" . trim($text) . ""; }, $content); // Удаление текста в круглых и квадратных скобках в заголовке $content = preg_replace_callback('/(.*?)<\/h\1>/', function($matches) { $text = preg_replace('/[\[\(].*?[\]\)]/', '', $matches[2]); // Убираем текст в круглых и квадратных скобках return "" . trim($text) . ""; }, $content); // Обработка Markdown подзаголовков $content = preg_replace_callback('/(?:\n|^)(#{1,2})(.+?)(?:\n|$)/m', function($matches) { $level = strlen($matches[1]) + 1; // # - h2, ## - h3 return "".trim($matches[2])."\n"; }, $content); // Преобразование жирного текста и курсива $content = preg_replace([ '/\*\*(.+?)\*\*/s', // Жирный текст '/\*(.+?)\*/s' // Курсив ], [ '$1', '$1' ], $content); // Преобразование текстовых ссылок в формате Markdown в HTML ссылки $content = preg_replace('/\[(.*?)\]\((.*?)\)/', '$1', $content); // Обработка текста с URL в конце фразы $content = preg_replace_callback('/-\s+\[([^\]]+)\s+(https?:\/\/[^\s\]]+)\]/', function($matches) { return '- ' . $matches[1] . ''; }, $content); // Обработка подзаголовков и текста с отступами $content = preg_replace_callback('/(?:\n|^)\*{1,2}(.+?)\*{1,2}(?:\n(?!

|\n|$)(.+))/m', function($matches) { $header = "

{$matches[1]}

"; $paragraph = isset($matches[2]) ? "

{$matches[2]}

" : ''; return "{$header}\n{$paragraph}"; }, $content); // Оборачивание текста в

, если он не содержит HTML тегов $content = preg_replace_callback('/(?<=\n\n|^)([^<>\n]+|\n?(.+?<\/strong>|.+?<\/a>|.+?<\/em>\n?)+)(?=\n\n|$)/s', function($matches) { if (!preg_match('/<[^>]+>/', $matches[0])) { return "

{$matches[0]}

"; } return $matches[0]; }, $content); return $content; } function ai_content_wizard_wrap_gutenberg($content) { // Заголовки $content = preg_replace_callback('/(.*?)<\/h\1>/', function($matches) { return "" . $matches[2] . ""; }, $content); // Параграфы $content = preg_replace('/

(.*?)<\/p>/s', "

$1

", $content); // Обработка списков $content = preg_replace_callback('/