首页  >  文章  >  后端开发  >  如何删除 PHP 中字符的重音符号?

如何删除 PHP 中字符的重音符号?

Barbara Streisand
Barbara Streisand原创
2024-10-31 00:27:29758浏览

How Can I Remove Accents from Characters in PHP?

PHP 中的字符去重音

在 PHP 中,可以使用多种方法从其重音对应部分中提取基本字符。一种方法涉及利用 Normalizer 类,它提供本机字符规范化功能。不幸的是,Normalizer 类可能在较旧的 PHP 版本或某些托管平台上不可用。

另一种方法涉及使用正则表达式和字符替换。以下函数(称为 Unaccent)可有效地从字符串中删除常见的重音符号:

<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>

此函数首先使用 htmlentities 将重音字符转换为其 HTML 实体。然后,它应用一个正则表达式来识别和捕获重音字符,包括重音标记。替换模式中的 $1 占位符确保仅保留基本字符。

例如,在“ã”和“é”上使用此函数将分别生成“a”和“e”。

以上是如何删除 PHP 中字符的重音符号?的详细内容。更多信息请关注PHP中文网其他相关文章!

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