繁体   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