Фильтр Markdown оборачивает теги абзаца предварительными тегами в PHP / HTML

У меня есть следующий текст (строка из SQL):

Paragraph \n Newline \n\n Paragraph2 \n\n\n\n Paragraph3

Эта строка обрабатывается:

function nl2brAndParagraphs($text) {
$br = nl2br($text);
$data = preg_replace('/^\s*(?:<br\s*\/?>\s*)*/i', '', $br); //Remove any whitespace and br- tags that are at the beginning of the text
$data = preg_replace('/\s*(?:<br\s*\/?>\s*)*$/i', '', $data); //Remove any whitespace and br- tags that are at the end of the text

$data = preg_replace('#(?:<br\s*/?>\s*?){2,}#','</p>
<p>',$data); //Replace multiple line breaks with paragraphs
$data = '<p>'.$data.'</p>';
return $data;
}

Это возвращает:

<p>Paragraph <br /> Newline </p><p> Paragraph2 </p><p></p><p> Paragraph3</p>

При применении фильтра Markdown (стандартный порт Michelf Markdown) к результату, он не должен ничего менять в этом случае, но возвращает:

<p>paragraph <br /> Newline </p>
<pre><code>    &lt;p&gt;
</code></pre>
<p> paragraph2 </p><p></p><p> paragraph3 </p></p>

Предварительное форматирование исчезает при удалении фильтра уценки или применении его до nl2brAndParagraphs.
Кто-нибудь знает, почему это происходит и как это решить?

****РЕДАКТИРОВАТЬ:*****
Я не внес никаких изменений в стандартный код уценки, и я использую

    function Markdown($text) {
require_once(__DIR__ . '/php-markdown-lib/Michelf/Markdown.inc.php');
require_once(__DIR__ . '/php-markdown-lib/Michelf/MarkdownExtra.inc.php');
return \Michelf\MarkdownExtra::defaultTransform($text);
}

разобрать строку.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]