質問する
1847 次
2 に答える
2
preg
エンジンは UTF-8 でネイティブに動作するため、エンジンを使用することをお勧めします。mb_* はもちろん悪い選択ではありませんが、もっと複雑だと思います。
あなたのケースのサンプルを作成しました:
$sData = "رضي الدين";
$rgReplace = [
'ﺏ' => 'b',
'ﺕ' => 't',
'ن' => 'n',
'ي' => 'i',
'د' => 'f',
'ل' => 'l',
'ا' => 'a',
'ر' => 'r',
'ي' => 'i',
'ض' => 'g',
' ' => ' '
];
$sResult = preg_replace_callback('/./u', function($sChar) use ($rgReplace)
{
return $rgReplace[$sChar[0]];
}, $sData);
echo $sResult; //rgi alfin
あなたのコードについては、エンコーディングを直接渡してみてください(mb_*関数の2番目のパラメータ)
于 2013-08-23T06:32:30.980 に答える