我想为字符串构建规范化函数:
'abcd 0123' -> 'abcd0123'
'Déjà vue' -> 'Dejavue' //some specific characters are converted
'&§%-chars' -> 'chars' //unrecognized characters are dropped
我使用了以下代码:
function normalize(string $text): string {
$patterns = array('/[éèë]/i', '/à/','/ç/','/[^a-z0-9]/i');
$replacements = array('e','a','c');
return preg_replace($patterns, $replacements, $text);
}
最后一个模式没有替换,所以它应该替换为空字符串(想要)。
然而,这是具有理想效果的nog:
'abcd 0123' -> 'abcd0123' //ok
'Déjà vue' -> 'Deejevue' //want 'Dejavue'
'&§%-chars' -> 'chars' //ok
如何更正我的代码以获得所需的结果?