【问题标题】:Converting fractions to html entities将分数转换为 html 实体
【发布时间】:2010-10-18 00:25:30
【问题描述】:

我们在数据库中存储了一些分数信息,例如¾ ½

没有进行搜索和替换,是否有任何内置的 PHP 函数可以自动将这些转换为正确的 html 实体?

【问题讨论】:

    标签: php html string html-entities fractions


    【解决方案1】:

    您可以使用htmlentities() function。这会将所有特殊字符替换为其等效的 HTML。它应该可以满足您的要求。

    好问题顺便说一句,+1。

    【讨论】:

      【解决方案2】:

      htmlentities.

      但您可能不需要。以包含它们的编码(UTF-8、ISO-8859-1)为您的页面提供服务,您可以将它们包含为文字、非转义字符。

      【讨论】:

      • 真的吗?这仅适用于分数吗?
      • Utf-8 将允许您使用几乎任何字符而无需转换。不过,为了安全起见,您仍然应该调用 htmlentities。 akrabat.com/2009/03/18/utf8-php-and-mysql 详细介绍了使用 UTF-8 的步骤 - 您需要对 php、mysql 和 html 进行更改。
      • 它适用于任何你可以适应你正在使用的编码的东西。如果您在 ISO-8859-1(西欧)中,您最多可以得到 U+00FF,其中包括 ¼½¾ (U+00BC-U+00BE)。如果您使用的是 UTF-8,则包括整个 Unicode 字符域。虽然你仍然需要 htmlspecialchars 来处理'
      【解决方案3】:

      答案已经给出:使用htmlentities()。此外,有人建议使用 UTF-8,这当然是一个非常好的主意。但是,如果您打算在 UTF-8 字符串上使用 htmlentities(),请使用以下代码(否则您会得到奇怪的编码字符):

      htmlentities($str, ENT_COMPAT, 'UTF-8')
      

      您可以想象,一直添加第二个和第三个参数很糟糕。对于我需要htmlentities()的大多数项目,我最终编写了一个快捷功能,即:

      function he($str) { // shortcut function for htmlentities() with UTF-8 settings
       return htmlentities($str, ENT_COMPAT, 'UTF-8');
      }
      

      【讨论】:

        【解决方案4】:

        试试 htmlentities()

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-04-17
          • 1970-01-01
          • 2011-07-26
          • 1970-01-01
          • 2018-04-29
          • 2011-11-16
          • 1970-01-01
          相关资源
          最近更新 更多