谷歌代码美化与降价无效

时间:2012-11-24 11:42:46

标签: php javascript markdown google-code-prettify

Google Code美化工作正常,但当我使用markdown并显示数据库中的内容时,美化效果不正常link of live result

这就是我在做的事情:

  • 获取内容

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

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

    Markdown($_POST['article_content'])

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

2 个答案:

答案 0 :(得分:2)

看看html代码,你错过了预标签上的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']);

答案 1 :(得分:0)

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

$('pre').addClass('prettyprint');