PHP 中的字符去重音
在 PHP 中,可以使用多种方法从其重音对应部分中提取基本字符。一种方法涉及利用 Normalizer 类,它提供本机字符规范化功能。不幸的是,Normalizer 类可能在较旧的 PHP 版本或某些托管平台上不可用。
另一种方法涉及使用正则表达式和字符替换。以下函数(称为 Unaccent)可有效地从字符串中删除常见的重音符号:
<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>
此函数首先使用 htmlentities 将重音字符转换为其 HTML 实体。然后,它应用一个正则表达式来识别和捕获重音字符,包括重音标记。替换模式中的 $1 占位符确保仅保留基本字符。
例如,在“ã”和“é”上使用此函数将分别生成“a”和“e”。
以上是如何删除 PHP 中字符的重音符号?的详细内容。更多信息请关注PHP中文网其他相关文章!