我正在解析html文本以获取带有strip_tags()的纯文本并且工作正常。但是结果文本在逗号和点之后没有空格
结果示例: Lorem ipsum dolor sit amet,consectetur ... adipiscing elit。
我怎么能把它转到这个: Lorem ipsum dolor sit amet,consectetur ... Adipiscing elit。
我想使用
str_replace(',', ', ', $text);
但是为了检测一个或多个点我不认为这是最好的解决方案。有没有办法将点后面的第一个字母转换为大写?
我正在搜索格式化文本的功能,但不能幸运。
谢谢!
答案 0 :(得分:0)
这是一个点后面的大写函数
function sentence_case($string) {
$sentences = preg_split('/([.?!]+)/', $string, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
$new_string = '';
foreach ($sentences as $key => $sentence) {
$new_string .= ($key & 1) == 0?
ucfirst(strtolower(trim($sentence))) :
$sentence.' ';
}
return trim($new_string);
}
print sentence_case('HMM. WOW! WHAT?');
// Outputs: "Hmm. Wow! What?"