我只是停留在这个问题上,找不到解决方案。
我想尝试使用 preg_replace
将字符串转换为小写。
我只是无法创建正确的正则表达式。
原因是普通的strtolower
不支持unicode字符。
我知道我可以使用 mb_strtolower
但这个函数似乎很慢,而且不是每个人都支持 MB。
有什么线索吗?
问候, 拉德克
编辑:好的,非常感谢您的帮助。我认为我的方法不太正确。 我认为使用这个会好得多:How do I detect non-ASCII characters in a string?然后分别使用 strtolower 或 mb_strtolower(如果可用)。
最佳答案
正则表达式本身不能改变字符,它只能改变它们的顺序和/或添加额外的字符/删除其中的一些。
有preg_replace_callback或 /e标志,但它们只能使用已知函数进行操作,因此不能比 strtolower 做得更好。
如果您不能依赖 mb_strolower 函数的存在,您将不得不自己实现它。
关于php - 如何使用 preg_replace 将字符串转换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9939066/