4

Google Code Prettifyは正常に動作していますが、Markdown コンテンツを使用してデータベースのコンテンツを表示すると、Prettify が正しく動作しません (ライブ結果のリンク)。

これは私がやっていることです:

  • でコンテンツを取得する

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

  • その後、出力を保存します(私はPDOを使用しています)

    Markdown($_POST['article_content'])

しかし、結果的に、コード部分に書いた部分はMarkdownを使わなければ問題なく動くのですが、テキストエリアから内容を取得して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 に答える