Php 标记(不格式化数据库中的文本)

Php 标记(不格式化数据库中的文本),php,mysql,database,server,markdown,Php,Mysql,Database,Server,Markdown,我是这个领域的新手。 我需要在我的网站上降价 我用这个: 标记出现并在客户端工作,预览我看到HTML格式 问题是当我将文本发送到数据库时,以及在获取文本并将其打印到页面后 数据库为SQL,类型为VARCHAR HTML未格式化 资料: 服务器:XAMPP(Apache)Windows 语言:PHP、Javascript/JQuery 降价: 我认为这需要服务器端的一些东西,但我在github上找不到任何东西。似乎您在客户端上有一个工作预览,它接受标记文本并成功地将其转换为HTML并在预览中显

我是这个领域的新手。 我需要在我的网站上降价

我用这个:

标记出现并在客户端工作,预览我看到HTML格式

问题是当我将文本发送到数据库时,以及在获取文本并将其打印到页面后

数据库为SQL,类型为VARCHAR

HTML未格式化

资料:

  • 服务器:XAMPP(Apache)Windows
  • 语言:PHP、Javascript/JQuery
  • 降价:

我认为这需要服务器端的一些东西,但我在github上找不到任何东西。

似乎您在客户端上有一个工作预览,它接受标记文本并成功地将其转换为HTML并在预览中显示。但是,现在您希望将文本存储在数据库中

如果您希望以后再回来编辑文本,那么您将始终希望将文档存储为标记文本。这意味着每次请求/显示页面时,文本也需要从标记转换为HTML。但是,当从数据库检索文档时,在将其提供给客户机之前,需要通过标记解析器运行文档以将其转换为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 '
        }

SimpleMode标记编辑器用于将标记转换为HTML进行预览

因此,您只需遵循标记的自述文件中的代码:


您正在使用的环境:服务器、语言、框架(如果有),以及您用于获取/保存数据到数据库的代码。其中任何一项的细微变化都可能完全改变答案的细节。没有人会在不知道所有这些东西的情况下给你答案,因为除非他们碰巧猜对了,否则答案将毫无用处,这是不太可能的。看见谢谢大家。我已经添加了一些代码示例和解释,现在我有了更多的信息。这只是服务器端,对吗?你能用我的降价吗?或者客户端也需要使用此选项?未找到“降价”类。工作标记()无标记::defaultTransform()。您能否提供有关此项的更多信息:“要打印,我使用
.row
”?或者显示输出(打印?)帖子内容的代码。@Waylan有什么意义?但是,好的,向上。@Antonio大师,您实际上需要发布完整的代码以进行打印,因为您编写的代码无法运行。在
$i++
之后,应该有一个
echo
语句。@icc97,是的,我忘了。然而,这是完整的代码,只是第一个代码的重复,但是随着类的改变。但这不是问题,问题是另一个。“当我向数据库发送文本时,在获取文本并将其打印到我的页面后,html不会格式化”,例如,在markdown中有#######Hello,在预览中我看到Hello,但在我的卡片中打印#####Hello。您直接从数据库打印-因此这意味着您正在将markdown保存到您的数据库,而不是html。因此,您需要运行与数据库中的标记预览相同的代码客户端可以使用我的标记吗?还是有必要使用它?它在服务器端运行,服务器端生成javascript,然后在客户端运行。这将在客户端生成HTML。如果您还想在客户端显示标记,那么只需
echo$row['contenuto']
$HTMLpost = Markdown::defaultTransform($post);
<?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>";
    }
}