【问题标题】:PHP - how to return HTML special characters code?PHP - 如何返回 HTML 特殊字符代码?
【发布时间】:2012-01-25 19:13:23
【问题描述】:

我正在研究这样的功能:

function foo() {
   return '[ = ]';
}

但这会返回:

[@]

我需要:

[ = ]

有什么想法吗?

【问题讨论】:

  • return htmlentities('[ = ]');
  • 这工作正常,但现在如何实现休息(
    )? :)
  • 返回?还是输出@?浏览器会自动转换。
  • 我猜这是帖子的一部分,或者是 WP 的东西,你需要正则表达式,才能像你想要的那样显示。发布更多信息/内容。
  • 不要使用htmlentities(),因为它会返回一些浏览器无法处理的实体。请改用htmlspecialchars(),并确保您的页面编码正确。

标签: php function return special-characters


【解决方案1】:

您可以在输出之前在字符串上调用htmlspecialchars,也可以简单地将字符串中的& 替换为&

任何一个都会让浏览器显示= 而不是@

【讨论】:

  • 谢谢你,这个&解决方案简直太棒了。
【解决方案2】:

您的函数正在返回正确的字符串。

当您在 HTML 文档中查看它时,它被解释为一个实体。

我的建议是在显示响应时对其进行编码,例如

$foo = foo();
echo htmlspecialchars($foo, ENT_QUOTES, 'UTF-8');

更改函数的返回值可能会导致以后您可能不想要编码字符串时出现问题。

【讨论】:

    【解决方案3】:

    或使用:

    return urlencode('[ = ]');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2012-09-02
      • 1970-01-01
      相关资源
      最近更新 更多