【问题标题】:Encoding input in textarea with javascript for TinyMCE editor使用 JavaScript 为 TinyMCE 编辑器编码 textarea 中的输入
【发布时间】:2012-03-23 06:02:11
【问题描述】:

这很复杂。我无法直接用语言来表达这一点。所以这是我的问题 -

我有这个基于 WordPress TinyMCE 编辑器的短代码生成器表单,它基本上是一个 HTML 文档。它有两个<textarea></textarea> 输入。当用户点击“插入短代码”时,此页面上的 javascript 代码会填充短代码并将其插入到 WordPress 的编辑器中。

现在,如果用户插入类似 -

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

在其中一个textarea中,短代码生成相应的属性为this -

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

这个带有其他属性的短代码然后由 WordPress 保存到数据库中。在前端检索到时,WordPress 中的add_shortcode() 函数会搞砸一切,这很明显,>,<,',"exist inside c_text

在 PHP 中一个明显的选择是将htmlentitiesENT_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。

【问题讨论】:

    标签: javascript wordpress


    【解决方案1】:

    我最终使用了urlencode 函数,它运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多