我有清理 URL 和文件名的功能,它可以很好地处理字符,éáßöäü
比如eassoau
使用str_replace($a, $b, $value)
. 但是如何替换中文、日文……语言中的所有字符?如果因为不容易确定而无法替换,我该如何删除所有这些字符?当然,我可以先像上面一样对其进行消毒,然后删除所有“非拉丁”字符。但也许还有另一个好的解决方案?
编辑/添加
正如评论中所问:我的问题的目的是什么?我们有一个客户,一开始有英语、德语和俄语的内容。后来出现了一些中文页面。URL 出现了两个问题:
- 第一个消毒剂杀死了所有“非ASCII字符”并可能返回“空白”(无效)清洁URL
- 客户体验到在某些带有中文字符的浏览器干净的 URL 中不起作用
第一点让我找到了替换这些字符的镜头,当然,正如问题中所述,评论证实了这一点,这是不可能的。也许现在有人回答说,在所有现代浏览器(从 IE8 开始)中,这不再是问题了。我也很高兴听到这个消息。