如何使用preg_place将字符串转换为小写
我只是停留在这个问题上,找不到解决方案。
我想尝试使用preg_replace
将字符串转换为小写。
我只是无法创建正确的正则表达式。
原因是正常的strtolower
不支持Unicode字符。
我知道我可以使用mb_strtolower
,但是这个函数似乎相当慢,而且并不是每个人都支持MB。
有什么线索吗?
问候您, RADEK
编辑:好的,非常感谢大家的帮助。我认为我的做法不太正确。 我认为最好使用这个:How do I detect non-ASCII characters in a string?,然后分别使用strtolower或mb_strtolower(如果可用)。
解决方案
Regex本身无法更改字符,它只能更改字符顺序和/或添加/删除部分字符。
有preg_replace_callback或/e标志,但它们只能使用已知函数进行操作,因此不能比strtolower做得更好。
如果您不能依赖mb_strolow函数的存在,则必须自己实现它。
相关文章