use*_*676 41 php lowercase uppercase
全部,我正在尝试将姓氏插入数据库.我希望第一个字母大写为名称,如果他们使用两个姓氏,则将第一个和第二个名字大写.例如,如果有人进入:
结婚名字
如果有两个以上的名字,它会将此转换为Marriedname Maidenname等等.另一种情况是有人在他们的名字中有一个撇号,所以如果有人进入,那么无论如何都要这样做:
奥康
这需要转换为O'Connell.我用的是:
ucfirst(strtolower($last_name));
Run Code Online (Sandbox Code Playgroud)
但是,正如您所知,这对所有场景都不起作用.谢谢你的建议!
Pau*_*aul 38
这将使所有单词的第一个字母和撇号后的字母大写.它会使所有其他字母小写.它应该适合你:
str_replace('\' ', '\'', ucwords(str_replace('\'', '\' ', strtolower($last_name))));
Run Code Online (Sandbox Code Playgroud)
小智 23
你可以试试这个词
<?php echo ucwords(strtolower('Dhaka, JAMALPUR, sarishabari')) ?>
Run Code Online (Sandbox Code Playgroud)
结果是: Dhaka, Jamalpur, Sarishabari
Ant*_*Max 21
这些都不是UTF8友好的,所以这里有一个完美无缺的工作(到目前为止)
function titleCase($string, $delimiters = array(" ", "-", ".", "'", "O'", "Mc"), $exceptions = array("and", "to", "of", "das", "dos", "I", "II", "III", "IV", "V", "VI"))
{
/*
* Exceptions in lower case are words you don't want converted
* Exceptions all in upper case are any words you don't want converted to title case
* but should be converted to upper case, e.g.:
* king henry viii or king henry Viii should be King Henry VIII
*/
$string = mb_convert_case($string, MB_CASE_TITLE, "UTF-8");
foreach ($delimiters as $dlnr => $delimiter) {
$words = explode($delimiter, $string);
$newwords = array();
foreach ($words as $wordnr => $word) {
if (in_array(mb_strtoupper($word, "UTF-8"), $exceptions)) {
// check exceptions list for any words that should be in upper case
$word = mb_strtoupper($word, "UTF-8");
} elseif (in_array(mb_strtolower($word, "UTF-8"), $exceptions)) {
// check exceptions list for any words that should be in upper case
$word = mb_strtolower($word, "UTF-8");
} elseif (!in_array($word, $exceptions)) {
// convert to uppercase (non-utf8 only)
$word = ucfirst($word);
}
array_push($newwords, $word);
}
$string = join($delimiter, $newwords);
}//foreach
return $string;
}
Run Code Online (Sandbox Code Playgroud)
用法:
$s = 'SÃO JOÃO DOS SANTOS';
$v = titleCase($s); // 'São João dos Santos'
Run Code Online (Sandbox Code Playgroud)
小智 5
使用此内置函数:
ucwords('string');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74888 次 |
| 最近记录: |