在将字符串插入数据库之前,我正在尝试将其转换为TitleCase。我使用的是ucwords。
我的字符串是:FIRST_SECOND_THIRD
我的代码:
if (//something){
$resp = strtolower($line[14]);
$resp_ = ucwords($resp, "_");
//rest of the query...
}var_dump($resp_)返回null,我不知道为什么。
发布于 2018-10-11 22:52:37
这是完全一样的事情,希望能帮上忙,干杯。
// php脚本
<?php
$string = "FIRST_SECOND_THIRD";
$var = strtolower(str_replace('_',' ',$string));
$temp = ucwords($var);
echo str_replace(' ', '', $temp);
?>
//output
FirstSecondThird如果自定义分隔符可以用于ucword函数,那么这项工作可能会更容易一些。
发布于 2018-12-03 20:22:36
如果您的输入字符串是全大写的,那么您的意图是对字符串开头或下划线后面的字母跟在字母后面的字母使用strtolower()。
代码:(Demo)
echo preg_replace_callback(
'~(?:^|_)[A-Z]\K[A-Z]+~',
function($m) {
return strtolower($m[0]);
},
'FIRST_SECOND_THIRD'
);输出:
First_Second_Third甚至更简单,使用mb_convert_case():(Demo)
echo mb_convert_case('FIRST_SECOND_THIRD', MB_CASE_TITLE, 'UTF-8');
// First_Second_Thirdhttps://stackoverflow.com/questions/46708093
复制相似问题