MarkDown (не форматировать мой текст из базы данных)

Я очень новичок в этой области.
Мне нужно разместить MarkDown на моем сайте.

Я использую это: https://github.com/NextStepWebs/simplemde-markdown-editor

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

Проблема в том, что когда я отправляю текст в базу данных, получаю его и печатаю на своей странице.

База данных в SQL, тип VARCHAR.

HTML не форматируется.

Информация:

Я думаю, что это занимает что-то на стороне сервера, но я не могу найти что-либо на GitHub.

-1

Решение

Похоже, что у вас есть рабочий предварительный просмотр на клиенте, который принимает текст Markdown и успешно преобразует его в HTML и отображает его в предварительном просмотре. Однако теперь вы хотите хранить текст в базе данных.

Если вы когда-нибудь захотите вернуться к нему позже, чтобы отредактировать текст, то вы всегда захотите сохранить документ как текст Markdown. Это означает, что каждый раз, когда страница запрашивается / отображается, текст также необходимо конвертировать из Markdown в HTML. Однако, когда документ извлекается из базы данных и до его передачи клиенту, вам нужно запустить документ через анализатор Markdown, чтобы преобразовать его в HTML. Мой PHP немного ржавый, но что-то вроде следующего изменения поможет вам начать в правильном направлении:

if(mysql_num_rows($sql) > 0){
$i=0;

while($row = mysql_fetch_assoc($sql)) {
$i++;
echo ' <div class="comment">'.Markdown::defaultTransform($row ['contenuto']).'</div> ext ext ext '
}

Обратите внимание, что содержимое, полученное из базы данных, передается через Анализатор уценок перед печатью. Вам нужно будет правильно установить библиотеку PHP Markdown, чтобы она работала. Конечно, уценка будет анализироваться каждый раз, когда запрашивается страница.

Альтернативным решением может быть использование синтаксического анализатора JavaScript Markdown (возможно, того же, который используется инструментом предварительного просмотра), который будет преобразовывать Markdown в HTML на клиенте при каждом запросе страницы. Однако это предполагает, что каждый запрос запрашивает только частичный документ (возможно, с AJAX-запросом), а не загружает всю новую страницу (иначе как библиотека JavaScript будет доступна для обработки документа). Это может или не может работать, опять же, в зависимости от вашей текущей настройки, и, как правило, не является предпочтительным вариантом. Другой ответ дает потенциальное решение такого рода.

Третий (и, возможно, более привлекательный) вариант, который может исключить необходимость преобразования Markdown в HTML при каждом запросе, заключается в сохранении как необработанного текста Markdown, так и преобразованного текста HTML в виде двух отдельных столбцов в таблице базы данных. Таким образом, когда вы хотите «отредактировать» документ, извлеките документ Markdown и внесите изменения. Когда эти изменения будут сохранены, сохраните и Markdown, и отображаемый HTML-код в соответствующих столбцах базы данных. Однако, когда вы хотите отобразить документ (что, вероятно, произошло бы большую часть времени), извлеките документ из визуализированного столбца базы данных (HTML). Например:

$HTMLpost = Markdown::defaultTransform($post);
2

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

simplemde-markdown-editor использует отмеченный конвертировать Markdown в HTML для предварительного просмотра.

Так что вам просто нужно следовать коду в Помеченном readme: https://github.com/chjj/marked#browser

<?php
if (mysql_num_rows($sql) > 0) {
$i = 0;

while ($row = mysql_fetch_assoc($sql)) {
$i++;
$comment = $row['contenuto'];
echo "<div id='comment$i' class='comment'></div>
<script>
document.getElementById('comment$i').innerHTML = marked('$comment');
</script>";
}
}
0

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