strip_tags()之后的PHP格式文本

时间:2014-11-04 23:47:21

标签: php formatting

我正在解析html文本以获取带有strip_tags()的纯文本并且工作正常。但是结果文本在逗号和点之后没有空格

结果示例: Lorem ipsum dolor sit amet,consectetur ... adipiscing elit。

我怎么能把它转到这个: Lorem ipsum dolor sit amet,consectetur ... Adipiscing elit。

我想使用

str_replace(',', ', ', $text);

但是为了检测一个或多个点我不认为这是最好的解决方案。有没有办法将点后面的第一个字母转换为大写?

我正在搜索格式化文本的功能,但不能幸运。

谢谢!

1 个答案:

答案 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?"