[英]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中的一个显而易见的选择是将htmlentities
与ENT_QUOTES
一起使用,但是在这种情况下该如何做呢? 使用phpjs等效功能意味着要包含很多JavaScript。 如何有效地做到这一点?
更新 :我尝试使用phpjs等效功能。 它可以正确执行转换。 但是,引号由WordPress代替。 示例-我放置了一个随机字符串<> <test> <<><<<>><<> ' <"">?sdg#@Y^#ASCST#@Y^
并做了console.log(htmlentities(string,'ENT_QUOTES'));
,它记录了
<> <test> <<><<<>><<> ' <"">?sdg#@Y^#ASCST#@Y^
哪个是对的。 但是,当我查看TinyMCE的HTML切换视图时,它显示了
<> <test> <<><<<>><<> ' <"">?sdg#@Y^#ASCST#@Y^
报价已由TinyMCE代替。
我最终使用了urlencode
函数,效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.