如何将特殊字符转换为标准字符?

daG*_*vis 3 php encoding special-characters

我正在寻找将āžšķūņrūķīš等字符转换为azskunrukis的方法.换句话说,用a替换ā,用z替换ž等.有没有内置的东西,或者我应该创建自己的"来自符号"的"库"?

小智 5

看看iconv的音译功能:

<?php
$text = "This is the Euro symbol '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

?>
Run Code Online (Sandbox Code Playgroud)

上面的例子将输出类似于:

原文:这是欧元符号'€'.
TRANSLIT:这是欧元符号'EUR'.
IGNORE:这是欧元符号''.
普通:
注意:iconv():在第7行的.\ iconv-example.php中检测到输入字符串中的非法字符
这是欧元符号'

您的示例文本可以使用以下方式进行音译:

$translit = iconv('UTF-8', 'US-ASCII//TRANSLIT', '?žš???r???š');
Run Code Online (Sandbox Code Playgroud)

以下是您提供的文字示例:http://ideone.com/MJHvf