替换外来字符

san*_*nta 9 php

在将值存储到数据库之前,我需要能够用英语等价替换一些常见的外来字符.

例如:æ替换AEññ.

我使用preg_replace吗?

谢谢

ajr*_*eal 6

对于单个字符的重音

$str = strtr($str, 
  "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÝßàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ",
  "AAAAAACEEEEIIIINOOOOOOYSaaaaaaceeeeiiiinoooooouuuuyy"); 
Run Code Online (Sandbox Code Playgroud)

对于double character重音(例如Æ, æ)

$match   = array('æ', 'Æ');
$replace = array('ae', 'AE');
$str = str_replace($replace, $replace, $str);
Run Code Online (Sandbox Code Playgroud)


Ist*_*ros 5

您可以尝试iconv()使用ASCII//TRANSLIT

$text = iconv("UTF-8", "ASCII//TRANSLIT", $text);
Run Code Online (Sandbox Code Playgroud)


Ist*_*ros 5

您可以在数组中定义可转换字符,并使用str_replace()

$conversions = array(
    "æ" => "ae",
    "ñ" => "n",
);

$text = str_replace(array_keys($conversions), $conversions, $text);
Run Code Online (Sandbox Code Playgroud)