在strip_tags()之后设置PHP格式文本


PHP format text after strip_tags()

我正在解析一个html文本,以便使用strip_tags()获得纯文本,并且工作得非常好。但是生成的文本在逗号和点之后没有空格

结果示例:Lorem ipsum悲哀坐amet,consectetur。。。adipissing elit

我该如何将其转化为:Lorem ipsum悲哀坐amet,consectetur。。。令人愉快的elit

我想用

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

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

我正在搜索一个格式化文本的函数,但运气不好。

谢谢!!

这里有一个在点后大写的函数

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