首页  >  文章  >  后端开发  >  如何在 PHP 中用其基本等效字符替换特殊字符?

如何在 PHP 中用其基本等效字符替换特殊字符?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-30 17:54:03984浏览

How to Replace Special Characters with Their Base Equivalents in PHP?

用 PHP 中的基本等价替换特殊字符

问题: 是否可以用它们的值替换特殊字符PHP 中的基本等效项,例如将“ã”转换为“a”,将“é”转换为“e”?

答案: 是的,可以用其基本字符替换重音字符使用 PHP 的等价物。

方法:

如果您有权访问 Normalizer 类,则可以将 Normalizer::normalize() 方法与 Normalizer::FORM_D 结合使用常量:

<code class="php">$string = "ãé";
$baseString = Normalizer::normalize($string, Normalizer::FORM_D);</code>

如果您无权访问 Normalizer 类,可以使用以下函数:

<code class="php">function Unaccent($string)
{
    return preg_replace('~&amp;([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '', htmlentities($string, ENT_QUOTES, 'UTF-8'));
}</code>

此函数将 HTML 实体转换为其相应的字符,然后使用正则表达式删除常见的重音符号。

示例:

<code class="php">$string = "ãé";
$baseString = Unaccent($string);</code>

生成的 $baseString 变量将包含“ae”。

以上是如何在 PHP 中用其基本等效字符替换特殊字符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn