4

Google Code Prettify工作正常,但是当我使用 Markdown 内容并显示数据库中的内容时,Prettify 无法正常工作(实时结果链接)。

这就是我正在做的事情:

  • 获取内容

    <textarea name="article_content" id="wmd-input" class="wmd-panel"></textarea>

  • 然后在之后存储输出(我正在使用PDO

    Markdown($_POST['article_content'])

但是结果,我在代码部分写的部分如果我不使用 Markdown 可以正常工作,但是当我从 textarea 中获取内容并使用 Markdown 时,它就无法正常工作。

4

2 回答 2

2

查看 HTML 代码。您错过了pre标签上的 class="prettyprint" 。

<pre><code>try {
    $db-&gt;beginTransaction();

    $db-&gt;exec("SOME QUERY");

    $stmt = $db-&gt;prepare("SOME OTHER QUERY?");
    $stmt-&gt;execute(array($value));

    $stmt = $db-&gt;prepare("YET ANOTHER QUERY??");
    $stmt-&gt;execute(array($value2, $value3));

    $db-&gt;commit();
} catch(PDOException $ex) {
    //Something went wrong rollback!
    $db-&gt;rollBack();
    echo $ex-&gt;getMessage();
}
</code></pre>

应该

<pre class="prettyprint"><code>try {
    $db-&gt;beginTransaction();

    $db-&gt;exec("SOME QUERY");

    $stmt = $db-&gt;prepare("SOME OTHER QUERY?");
    $stmt-&gt;execute(array($value));

    $stmt = $db-&gt;prepare("YET ANOTHER QUERY??");
    $stmt-&gt;execute(array($value2, $value3));

    $db-&gt;commit();
} catch(PDOException $ex) {
    //Something went wrong rollback!
    $db-&gt;rollBack();
    echo $ex-&gt;getMessage();
}
</code></pre>

要解决<pre>自动生成的问题,您可以尝试以下操作:

$newcontent = str_replace('<pre>', '<pre class="prettyprint">', $_POST['article_content']);
于 2012-11-24T12:25:24.267 回答
0

对于自动生成<pre>,您还可以使用:

$('pre').addClass('prettyprint');
于 2013-10-09T12:57:11.057 回答