php - 如何使用 preg_replace 将字符串转换为小写

标签 php regex unicode preg-replace

我只是停留在这个问题上,找不到解决方案。 我想尝试使用 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/

相关文章:

php - LIKE 查询中的数字通配符?

javascript - 正则表达式替换引号和小于、大于符号

Javascript 不显示 unicode

python - 为什么编码并不总是有效?

php - WordPress Cron API 是否在后台运行?

php - 如何使用 Laravel Eloquent 查询获取一张表中一行的两列

java - 用 Java 中字符串中的特殊字符替换单词

javascript - 使用 javascript 替换函数与正则表达式的 <span> 和 </span> 的困难...全包

c++ - 如何在 C++ 中使用 unicode\u003c?

php:在 html 中存储任意 html 元素的数据以将此数据传递给 HTML 页面上元素的 innerHTML 的最佳方法?