分享一个高效且准确的字数统计方法

3小时前 发布
福建
查看:23 回复:2

private static function getWordCount($str){
$str = strip_tags($str);
$str = trim($str);
if ($str === ‘’) {return 0;}
$cnt = 0;
$isWord = false;
$chars = preg_split(‘//u’, $str, -1, PREG_SPLIT_NO_EMPTY);
$regFullAlphaNum = ‘/[x{ff10}-x{ff19}x{ff21}-x{ff3a}]/u’;
$regCnFullSym = ‘/[x{4e00}-x{9fa5}x{ff00}-x{ff0f}x{ff3b}-x{ffef}]/u’;
foreach ($chars as $char) {
$isFullAlphaNum = preg_match($regFullAlphaNum, $char);
$isCnFullSym = preg_match($regCnFullSym, $char);
$isHalfAlphaNum = ctype_alnum($char);
if ($isCnFullSym) {
$cnt++;
$isWord = false;
} elseif ($isHalfAlphaNum || $isFullAlphaNum) {
if (!$isWord) {$cnt++;$isWord = true;}
} else {
$isWord = false;
}
}
return $cnt;
}

业务用途:广泛用于阅读付费提示该文共计多少字,隐藏了多少字。长篇连载小说字数统计(统计一整本下面的总字数),留言~评论~聊天等字数核验,投稿计价等等。

打赏
点赞
收藏
分享
😀😇😇 文韵坊阅读网