2

WMDエディタを使用しています。これ

正常に動作しています。しかし、問題は、編集フォームで動作させたいということです。

現在、マークダウン テキストの代わりに html を取得しています。私のコードは、私の編集ページに続くようなものです。

<div id="wmd-editor" class="wmd-panel">
    <div id="wmd-button-bar"></div>
            <textarea id="wmd-input"><?php echo $row['description']?></textarea>
    </div>
    <div id="wmd-preview" class="wmd-panel"></div>
    <div id="wmd-output" class="wmd-panel"></div>

ここで何が問題なのかわかりません。

4

1 に答える 1

2

まず、リポジトリは維持されていないため (7 年以上更新されていないようです)、アクティブなブランチへの切り替えを検討する必要があります。WMD は に名前が変更されましPage Downたが、使用できる代替エディターが多数あります。

timcluttonコメントしたように、おそらく HTML をデータベースに保存しています。WMD は、HTML から Markdown への変換をサポートしていません。したがって、最善の解決策は、コンテンツを Markdown として保存することです。

これを行うには、作成ページを変更します。コードがないので、どのように見えるかの例を示します。

<form action="/create" method="POST">
    <div id="wmd-editor" class="wmd-panel">
        <div id="wmd-button-bar"></div>
            <textarea name="content" id="wmd-input"></textarea>
        </div>
    <div id="wmd-preview" class="wmd-panel"></div>
    <div id="wmd-output" class="wmd-panel"></div>
    <button type="submit">Send</button>
</form>

サーバー側では、コンテンツをデータベースに保存し、後で編集ページ$_POST['content']に今行っているのとまったく同じように出力できます。


最後に、Page Down wikiからのセキュリティ ノート:

ユーザー入力に関する限り、Markdown は安全ではないことに注意してください。Markdown ではほとんど何でも有効です。特に<script>doEvil();</script>. この PageDown リポジトリには、Stack Exchange がユーザーの入力をサニタイズするために使用する 2 つのプラグインが含まれています。以下の Markdown.Sanitizer.js の説明を参照してください。

于 2016-05-31T08:50:23.310 に答える