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