我自己用preg_replace进行规范化

时间:2017-08-15 09:57:26

标签: php preg-replace

我想为字符串构建规范化函数:

'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

如何更正我的代码以获得所需的结果?

0 个答案:

没有答案