私はwysihtml5 wysiwygエディタを使用しています。wysihtml5。イメージsrcとhrefは削除されました
image src属性とlink href属性がhtmlから削除されるという問題があります。サーバーでは、すでにhtmlを剥奪されています。
どうすればこの問題を解決できますか?
私はadvanced.js rulestを使用しています。すべてのルールで。
UPDATE 1
まあeditor.getValue
とjquery().val() for textarea
は、提出フォームに同じ値を与えます。フォームを正しく送信する必要があることを意味します。
しかし、私はブラウザから送信されたPOSTリクエストを見ました。それはURLなしです。何か問題でも。
UPDATE 2
私はIMGとの接続ルールセットすべてのものから削除した場合、それにもかかわらず、それはinproperly動作します。
UPDATE Marrowmawのコメントに応答して、3
。
私は期待しています:
<a href="http://domain.com/" title="Link: http://domain.com">Link</a>
しかし、私は取得
<a href="" title="Link: Null">Link</a>
UPDATE 4
<div id="wysihtml5-toolbar" style="display: none;">
<button class="btn" data-wysihtml5-command="bold">
{{ "Bold"|trans }}
</button>
<button class="btn" data-wysihtml5-command="italic">
{{ "Italic"|trans }}
</button>
<button class="btn" data-wysihtml5-command="createLink">
{{ "Link"|trans }}/{{ "Unlink"|trans }}
</button>
<button class="btn" data-wysihtml5-command="insertUnorderedList">
*
</button>
<button class="btn" data-wysihtml5-command="insertOrderedList">
1,2,3
</button>
<button class="btn" data-wysihtml5-command="formatBlock" data-wysihtml5-command-value="h1">
{{ "Heading"|trans }}
</button>
<button class="btn" data-wysihtml5-command="insertImage">
{{ "Image"|trans }}
</button>
<div data-wysihtml5-dialog="createLink" style="display: none;">
<label>
{{ "Link"|trans }}:
<input data-wysihtml5-dialog-field="href" value="http://">
</label>
<a data-wysihtml5-dialog-action="save">{{ "Save"|trans }}</a> <a data-wysihtml5-dialog-action="cancel">{{ "Cancel"|trans }}</a>
</div>
<!-- Dialog -->
<div data-wysihtml5-dialog="insertImage" style="display: none;">
<label>
URL: <input data-wysihtml5-dialog-field="src" value="http://">
</label>
<label>
Alternative text: <input data-wysihtml5-dialog-field="alt" value="">
</label>
<label>
{{ "Align"|trans }}:
<select data-wysihtml5-dialog-field="className">
<option value="">{{ "default"|trans }}</option>
<option value="wysiwyg-float-left">{{ "left"|trans }}</option>
<option value="wysiwyg-float-right">{{ "right"|trans }}</option>
</select>
</label>
<a data-wysihtml5-dialog-action="save">{{ "Save"|trans }}</a> <a data-wysihtml5-dialog-action="cancel">{{ "Cancel"|trans }}</a>
</div>
</div>
<form action="{{ path('###_save_homepage') }}" method="POST" >
<textarea id="wysihtml5-textarea" placeholder="{{ "Enter your text"|trans }}..." autofocus name="homepage" style="width:700px;height:400px;">
{{ homepage|raw }}
</textarea>
<input type="submit" value="{{ "Save"|trans }}" class="btn" />
</form>
とJSのinit:
<script type="text/javascript">
jQuery(document).ready(function(){
var editor = new wysihtml5.Editor("wysihtml5-textarea", { // id of textarea element
toolbar: "wysihtml5-toolbar", // id of toolbar element
parserRules: wysihtml5ParserRules // defined in parser rules set
});
});
</script>
更新された投稿の詳細 –
htmlがサーバに送信される前に削除されるのですか、またはクライアントとサーバの間のどこかで削除されますか?後者の場合は、HTMLをエスケープしてから送信し、もう一方の端でエスケープすることができます。 – starbeamrainbowlabs
それは%の間のどこかにあるようです。 –