2
A
回答
10
一个简单的方法是使用strtolower使字符串小写,并且ucfirst为大写的第一个字符如下:
$str=ucfirst(strtolower($str));
如果字符串包含多个句子,你必须写自己的算法,例如在句子分隔符上爆炸并依次处理每个句子。除了第一个字符,你可能还需要一些启发式的术语,比如“I”和出现在文本中的任何常见专有名词。例如,这样的事情:
$sentences=explode('.', strtolower($str));
$str="";
$sep="";
foreach ($sentences as $sentence)
{
//upper case first char
$sentence=ucfirst(trim($sentence));
//now we do more heuristics, like turn i and i'm into I and I'm
$sentence=preg_replace('/i([\s\'])/', 'I$1', $sentence);
//append sentence to output
$str=$sep.$str;
$sep=". ";
}
+0
我需要更快地输入我的答案:) – 2009-06-09 15:04:09
2
我不知道任何方法,将自动做到这一点。你可能不得不写一些自己的规则,这些规则需要像字母'i'这样的特殊情况在需要时自行处理。你还会错过利用人和地名等东西的能力。
1
完全有可能
$s = "THIS IS THE LINE I'M GOING TO WORK ON";
$s = ucfirst(strtolower($s));
echo $s; //This is the line I'm going to work on
1
如果字符串包含只有1句话,那么你可以使用:
$string = ucfirst(strtolower($string));
2
这里有一个功能,将做到这一点:
function sentence_case($s) {
$str = strtolower($s);
$cap = true;
for($x = 0; $x < strlen($str); $x++){
$letter = substr($str, $x, 1);
if($letter == "." || $letter == "!" || $letter == "?"){
$cap = true;
}elseif($letter != " " && $cap == true){
$letter = strtoupper($letter);
$cap = false;
}
$ret .= $letter;
}
return $ret;
}
来源:
0
要记住的一点:不要将其应用于所有输入字段!如果你把“迈克DF王”到“迈克Df的王”
人们在他们的名字全部大写首字母可以得到强大的恼火
欢呼:)
相关问题
- 1. 全部大写为正常情况下
- 2. 如何使用Jquery将所有输入值更改为大写?
- 3. 如何将所有输入字段值更改为大写
- 4. 默认情况下为所有输入设置successCssClass和errorCssClass
- 5. 更改输入大写
- 6. 在没有按下输入Java的情况下输入
- 7. 在不更改行的情况下进行输入
- 8. 如何在缩写字母大写的情况下更改大写字母的大小写?
- 9. MediaRecorder在没有挑衅的情况下更改大小
- 10. 在某些情况下更改映射的行为,并在所有其他情况下重用功能
- 11. 在不更改现有内容的情况下将用户的输入更改为粗体。
- 12. 如何在输入时将输入更改为大写
- 13. 如何在不使用toUppercase的情况下将字母从小写更改为大写?
- 14. Java:在不更改所有引用的情况下更改对象值
- 15. 在所有情况下
- 16. 所有情况下切换
- 17. 在不影响数据库的情况下将输入表单更改为textarea
- 18. 在不更改图像大小的情况下更改img容器的大小?
- 19. Python/Tensorflow - 在这种情况下,所有精度值为“1”是否正常?
- 20. 针对不同的情况下(并非所有情况下)
- 21. 在不修改代码的情况下更改输出
- 22. 如何在不改变大小写的情况下使用str_replace?
- 23. Angularjs在没有超时的情况下无法正常工作的情况
- 24. 如何使用户输入的情况下蟒搜索不区分大小写
- 25. 有没有什么办法可以改变mysql中所有表的列名大小写的情况下
- 26. 从大写更改为小写C++
- 27. 正则表达式在所有情况下都不能正常工作
- 28. 哪种方法在线程经常写入的情况下更好?
- 29. 在不离开输入框的情况下从输入框验证输入
- 30. 在不更改PHP格式的情况下读写JSON文件
怎么样缩写词和专有名词像地名?他们是否也应改为小写? – 2009-06-09 15:02:22