在 PHP 中如何将重音字符转换为其基本字符?

Mary-Kate Olsen
发布: 2024-11-01 08:32:02
原创
240 人浏览过

How can I convert accented characters to their base characters in PHP?

在 PHP 中将重音字符转换为基本字符

PHP 语言提供了将重音字符替换为其基本对应字符的功能。

使用 Normalizer 类

Normalizer 类专为字符标准化而设计,包括重音符号和其他变音符号。要使用此类删除重音:

<code class="php">use Normalizer;
$string = Normalizer::normalize($string, Normalizer::FORM_D);</code>
登录后复制

自定义重音字符替换

如果您不希望使用 Normalizer 类或需要自定义重音替换,您可以使用以下函数:

代码:

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

用法示例:

替换“ã”与“a”和“é”与“e”:

<code class="php">$string = "ãé";
$unaccentedString = unaccent($string);</code>
登录后复制

工作原理:

此函数将重音字符转换为其 HTML 实体表示形式htmlentities()。然后,正则表达式用基本字符替换 HTML 实体。

此方法与最常见的重音兼容,但它并不详尽,可能无法涵盖所有​​可能的情况。

以上是在 PHP 中如何将重音字符转换为其基本字符?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!