相关疑难解决方法(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万
查看次数

不使用iconv删除重音

删除重音的最佳方法是什么,例如.

ÈâuÑ"成为"Eaun"

使用iconv

php regex string

15
推荐指数
2
解决办法
7347
查看次数

标签 统计

php ×2

diacritics ×1

regex ×1

string ×1

strtr ×1

utf-8 ×1