这很复杂。我不能直接把它说成文字。所以这就是我的问题 -
我有这个基于WordPress TinyMCE编辑器的短代码生成器表单,它基本上是一个HTML文档。它有两个<textarea></textarea>
输入。当用户点击“插入短代码”时,此页面上的javascript代码会填充短代码并将其插入到WordPress的编辑器中。
现在,如果用户插入类似 -
的内容 >>>This is an "amazing post"! You can't wait to get your hands on it.<<<
在textarea中的一个,短代码生成相应的属性 -
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 equivalent function意味着包含大量的javascript。如何有效地做到这一点?
UPDATE :我尝试使用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取代。