Невозможно преобразовать уценку в HTML, используя PageDown StackExchanges - PullRequest
5 голосов
/ 28 декабря 2011

У меня есть метод хранения прямого кода разметки (сгенерированного редактором PageDown) в базе данных.На другой странице я извлекаю разметку из базы данных и запускаю ее через преобразователь разметки, но, похоже, не могу ничего получить.Это мой сценарий:

<script type="text/javascript" src="include/Markdown.Converter.js"></script>
<script type="text/javascript" src="include/Markdown.Sanitizer.js"></script>
<script type="text/javascript" src="include/Markdown.Editor.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        var converter = Markdown.Converter();
        $("#description-content").text(converter.makeHTML("<?php echo $description ?>"));
    });
</script>

PHP выводит чистый текст уценки из базы данных.Когда я захожу на страницу, в div ничего не появляется.Что я делаю не так?

РЕДАКТИРОВАТЬ: я не вижу эхо-текста, и если я просто добавляю открытый текст внутри .text(), я вижу его.

Ответы [ 3 ]

4 голосов
/ 28 января 2012

Markdown.Converter - конструктор; Вы должны использовать

var converter = new Markdown.Converter();
1 голос
/ 12 сентября 2016

Поздний ответ, но он может помочь новым посетителям

Если вы получаете результаты из базы данных и эхо через PHP, я бы предпочел https://michelf.ca/projects/php-markdown/classic/

Как только вы загрузите файл, можно использовать его для преобразования текста уценки в HTML.

<?php 

$query_post = mysqli_query($con,"SELECT * FROM `posts` ...//your query
$row_post = mysqli_fetch_assoc($query_post);

$content = $row_post['Body'];
include("path-to/PHP-Markdown-Extra-1.2.8/markdown.php");
$text = <<<EOD

$content

EOD;
echo Markdown($text);
?>

Это будет отображать результат как мой ответ здесь, или любой другой ответ или вопрос здесь в stackoverflow

ура

0 голосов
/ 29 декабря 2011

Может быть, вы можете попробовать использовать Showdown вместо PageDown и посмотреть, если вы получите какие-либо другие результаты, просто в качестве теста: https://github.com/coreyti/showdown/blob/master/src/showdown.js Showdown - это другая реализация Markdown js.

Код, который у вас есть, похоже, не содержит в себе ничего плохого. Единственный крайний случай, о котором я могу подумать, это неэкранированные кавычки в $description.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...