<?php
function ucwordsreplace($matches) {
return ucwords(strtolower($matches[0]));
}
$original = "some UPPERCASE words GO HERE";
$fixed = preg_replace_callback('/\b[A-Z]+\b/', "ucwordsreplace", $original);
echo $fixed; // some Uppercase words Go Here
Run Code Online (Sandbox Code Playgroud)
正则表达式仅匹配完全是大写的单词(任意数量的大写字母,每边都有单词边界),然后将每个单词传递给定义的函数,该函数返回仅首字母大写的替换文本。
如果您还想防止UPPERCA $ E之类的问题,则可以在正则表达式中添加其他符号,甚至可以匹配所有非小写字符(使用[^a-z]代替[A-Z])。
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |