相关疑难解决方法(0)

PHP:用UTF-8字符串中最接近7位ASCII等效的变音符号替换

我想要做的是从字符串中删除所有重音符号和变音符号,将"lärm"变为"larm"或将"andré"变为"andre".我试图做的是utf8_decode字符串,然后使用strtr,但由于我的源文件保存为UTF-8文件,我不能输入所有变音符号的ISO-8859-15字符 - 编辑器插入UTF-8字符.

显然,一个解决方案是拥有一个ISO-8859-15文件的包含,但必须有一个更好的方法,而不是另一个必需的包含?

echo strtr(utf8_decode($input), 
           'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ',
           'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
Run Code Online (Sandbox Code Playgroud)

更新:也许我尝试做的事情有点不准确:我实际上并不想删除变音符号,而是将它们替换为最接近的"单字符ASCII"等价物.

php utf-8 diacritics strtr

44
推荐指数
3
解决办法
4万
查看次数

如何删除重音并将字母转换为"普通"ASCII字符?

什么是从字符串如取出口音的最有效的方式ÈâuÑ变成Eaun

是否有一种简单的,内置的方式,我缺少或正则表达式?

php regex string ascii

44
推荐指数
5
解决办法
6万
查看次数

如何对UTF-8字符串数组进行排序?

我currentyl对如何在PHP中对包含UTF-8编码字符串的数组进行排序没有任何线索.该阵列来自LDAP服务器,因此通过数据库排序(没有问题)是没有解决方案.以下不适用于我的Windows开发机器(虽然我认为这至少应该是一个可能的解决方案):

$array=array('Birnen', 'Äpfel', 'Ungetüme', 'Apfel', 'Ungetiere', 'Österreich');
$oldLocal=setlocale(LC_COLLATE, "0");
var_dump(setlocale(LC_COLLATE, 'German_Germany.65001'));
usort($array, 'strcoll');
var_dump(setlocale(LC_COLLATE, $oldLocal));
var_dump($array);
Run Code Online (Sandbox Code Playgroud)

输出是:

string(20) "German_Germany.65001"
string(1) "C"
array(6) {
  [0]=>
  string(6) "Birnen"
  [1]=>
  string(9) "Ungetiere"
  [2]=>
  string(6) "Äpfel"
  [3]=>
  string(5) "Apfel"
  [4]=>
  string(9) "Ungetüme"
  [5]=>
  string(11) "Österreich"
}
Run Code Online (Sandbox Code Playgroud)

这完全是胡说八道.使用1252作为代码页setlocale()给出了另一个输出,但仍然是一个明显错误的输出:

string(19) "German_Germany.1252"
string(1) "C"
array(6) {
  [0]=>
  string(11) "Österreich"
  [1]=>
  string(6) "Äpfel"
  [2]=>
  string(5) "Apfel"
  [3]=>
  string(6) "Birnen"
  [4]=>
  string(9) "Ungetüme"
  [5]=>
  string(9) "Ungetiere"
}
Run Code Online (Sandbox Code Playgroud)

有没有办法用UTF-8字符串区域设置识别数组?

刚才注意到这似乎是PHP上的问题,因为de_DE.utf8用作locale 的相同代码段可以在Linux机器上运行.不过,这个特定于Windows的问题的解决方案会很好......

php arrays sorting utf-8

26
推荐指数
3
解决办法
3万
查看次数

标签 统计

php ×3

utf-8 ×2

arrays ×1

ascii ×1

diacritics ×1

regex ×1

sorting ×1

string ×1

strtr ×1