有没有办法将表达式ae, Ae, oe, Oe, ue, Ue
和ss
中的变音符号转换回原始的变音符号?重要的是拼写被观察为“teuer”!例如,“teuer
”中的术语“teür
”必须不得更改。谢谢!
答案 0 :(得分:3)
iconv("utf-8","ascii//TRANSLIT",$input);
延长example
OR
echo strtr(utf8_decode($input),
utf8_decode('ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'),
'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
参考this问题。
答案 1 :(得分:0)
我建议你转换“ue”,“oe”等出现的每个排列。 通过每个排列我的意思是,如果有3个出现首先只替换第一个,然后只替换第二个,然后只有第三个,然后是第一个和第二个,依此类推。
接下来,检查结果是否包含在标准拼写检查词典中。通过这种方式,您不必为异常创建自己的字典。
上找到一个词汇表答案 2 :(得分:0)
要做到这一点,这将是非常棘手的。当然没有任何内置函数可以做到。
我在这种事情中看到的大多数例子都是在相反的方向上工作(即用带有重音字符的字符串并用它们的ASCII等价替换它们)。我已经看到它完成了,它总是提供一个字符及其等价物的地图,并扫描字符串进行替换。
strtr()
function的PHP手册页有一些关于你需要做的事情的好例子,但你避免特定例外的要求会使整个过程变得非常复杂。