是否有一种方法可以将ae, Ae, oe, Oe, ue, Ue和ss表示中的umlauts转换回原来的umlauts?重要的是拼写被观察到像"teuer"!例如,"teuer“一词在"teür”中不得更改为。谢谢!
发布于 2011-07-21 13:42:38
iconv("utf-8","ascii//TRANSLIT",$input);扩展example
或
echo strtr(utf8_decode($input),
utf8_decode('ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'),
'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');请参考这问题。
发布于 2011-07-21 13:44:32
我建议你将"ue“、"oe”等发生的每一个排列进行转换。每一个排列,我的意思是说,如果有三个发生,首先只替换第一个,然后只有第二个,然后只有第三个,然后第一个和第二个等等。
接下来,检查结果是否包含在标准拼写检查字典中。这样,您就不必为异常创建自己的字典了。
例如,可以在ftp://ftp.ox.ac.uk/pub/wordlists/german/words.german.Z上找到一个单词列表
发布于 2011-07-21 13:56:47
这将是一个相当棘手的问题。当然没有任何内置的功能来做这件事。
我所看到的关于这类事情的大多数例子都在相反的方向上工作(即使用带有重音字符的字符串,并用它们的ASCII等价物替换它们)。在我看到它的地方,它总是提供一个字符和它们的等价物的映射,并扫描字符串进行替换。
函数的PHP手册页面提供了一些很好的例子,说明了您需要做的事情,但是避免特定异常的需求将极大地使整个过程复杂化。
https://stackoverflow.com/questions/6776930
复制相似问题