在 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中文网其他相关文章!