Код Google для приукрашивания с уценкой не работает


Google Code prettify работает нормально, но когда я использую уценку и показываю содержимое из базы данных, prettify работает неправильно ссылка на живой результат

Вот что я делаю:

  • Получение удовлетворения с помощью

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

  • Затем сохраните вывод после (я использую pdo)

    Markdown($_POST['article_content'])

Но в результате часть, которую я написал в разделе кода, работает нормально, если я не использую markdown, но когда я извлеките содержимое из текстовой области и используйте markdown, это не уокинг.

Author: dda, 2012-11-24

2 answers

Посмотрите на html-код, вы пропустили класс="prettyprint" в теге pre.

<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']);
 2
Author: VBAssassin, 2012-11-24 13:58:41

Для автоматически сгенерированного <pre> вы также можете использовать:

$('pre').addClass('prettyprint');
 0
Author: simple_human, 2013-10-09 12:57:11