簡體   English   中英

使用TinyMCE編輯器的javascript在textarea中編碼輸入

[英]Encoding input in textarea with javascript for TinyMCE editor

這很復雜。 我無法直接將其表達出來。 所以這是我的問題-

我已經在WordPress TinyMCE編輯器上構建了此短代碼生成器表單,該表單基本上是HTML文檔。 它有兩個<textarea></textarea>輸入。 當用戶單擊“插入短代碼”時,此頁面上的javascript代碼將填充該短代碼並將其插入WordPress的編輯器中。

現在,如果用戶插入類似-

>>>This is an "amazing post"! You can't wait to get your hands on it.<<<

在一個文本區域中,短代碼生成相應的屬性,如下所示:

c_text=">>>This is an "amazing post"! You can't wait to get your hands on it.<<<"

然后,具有其他屬性的短代碼將由WordPress保存到數據庫中。 當在前端對其進行檢索時,WordPress中的add_shortcode()函數將所有內容弄亂了,這很明顯,因為c_text存在>,<,',"

PHP中的一個顯而易見的選擇是將htmlentitiesENT_QUOTES一起使用,但是在這種情況下該如何做呢? 使用phpjs等效功能意味着要包含很多JavaScript。 如何有效地做到這一點?

更新 :我嘗試使用phpjs等效功能。 它可以正確執行轉換。 但是,引號由WordPress代替。 示例-我放置了一個隨機字符串<> <test> <<><<<>><<> ' <"">?sdg#@Y^#ASCST#@Y^

並做了console.log(htmlentities(string,'ENT_QUOTES')); ,它記錄了

&lt;&gt; &lt;test&gt; &lt;&lt;&gt;&lt;&lt;&lt;&gt;&gt;&lt;&lt;&gt; &#039; &lt;&quot;&quot;&gt;?sdg#@Y^#ASCST#@Y^

哪個是對的。 但是,當我查看TinyMCE的HTML切換視圖時,它顯示了

&lt;&gt; &lt;test&gt; &lt;&lt;&gt;&lt;&lt;&lt;&gt;&gt;&lt;&lt;&gt; ' &lt;""&gt;?sdg#@Y^#ASCST#@Y^

報價已由TinyMCE代替。

我最終使用了urlencode函數,效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM