【问题标题】:Using data which contains ' and ", storing it in WordPress database & displaying it back in a meta box使用包含 ' 和 " 的数据,将其存储在 WordPress 数据库中并在元框中显示
【发布时间】:2013-12-05 12:30:06
【问题描述】:

我在 WordPress 上有一些自定义元框,用于存储一些信息,例如页面标题和描述,但我遇到了一些我无法解决的问题。

元输入框需要能够接受“和'(语音标记和撇号),并且WordPress可以很好地存储数据,我可以在前端很好地显示它,但是当它被回显时进入<input> 框,它搞砸了,因为它试图打印这样的东西:

例如:<input value="Hello we're called "example" and we suck" />

所以无论我怎么做,它都会像这样打印在页面编辑屏幕中(一旦我保存):

或类似效果的东西。因为我需要使用这两个字符,所以我不能使用它们中的任何一个来包装属性作为一个简单的修复。

我只是有点胡思乱想,但真的无法弄清楚解决此问题的解决方案背后的逻辑,因为如果我转义字符,它们只会以Hello we're called "example" and we suck 的形式显示给最终用户会让他们更加困惑。

【问题讨论】:

  • 您必须对它们进行编码。 一次。
  • 感谢常识,看起来很简单。你会恨我问这个,但我应该用什么编码它们?我知道 wp 有很多消毒功能,还是我应该直接使用 htmlentities 或类似的东西?

标签: php html wordpress escaping html-entities


【解决方案1】:

用esc_attr()编码,来自Codex的例子:

echo '<input type="text" name="fname" value="' . esc_attr( $_POST['fname'] ) . '">';

【讨论】:

  • 太棒了。谢谢!有时我是个白痴,但我知道肯定有什么可以做的,我只是在努力寻找合适的词输入谷歌来找到它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 2013-02-11
  • 1970-01-01
  • 2018-07-22
  • 2011-12-06
  • 1970-01-01
  • 2014-06-04
相关资源
最近更新 更多