php精准计算文本字数

php之txt整本上传小说到mysql

function calcChapterWordNum($str) {
    $tmp_str = $str;
    //过滤 html 标签
    $str = strip_tags($str);

    //转换实体字符
    $searchEntityNum = array(
        '"', '&', ''', '<', '>', '¥', '©', '×',
        '÷', '–', '—', '‘', '’', '‚', '“',
        '”', '„', '…', '←', '↑', '→', '↓'
    );
    $searchEntityName = array(
        '"', '&', ''', '<', '>', '¥', '©', '×',
        '÷', '–', '—', '‘', '’', '‚', '“',
        '”', '„', '…', '←', '↑', '→', '↓'
    );
    $str = str_replace($searchEntityNum, '1', $str);
    $str = str_replace($searchEntityName, '1', $str);

    //除去"空格"、"回车"和"tab"等空白字符
    $searchSpace = array(' ', ' ', "\f", "\r", "\n", "\t", "\v", ' ', ' ');
    $str = str_replace($searchSpace, '', $str);

    if(empty($str))
    {
        $count = preg_match_all("/<img.*?src=[\"\"'](?<url>.*?)[\"\"'].*?>/i", $tmp_str, $matches);
        return intval($count);
    }
    return mb_strlen($str, 'utf-8');
}

 

发表回复

您的电子邮箱地址不会被公开。