博客全站总字数统计

792天前2448

今天上班的时候偶然被电脑输入法的一个功能吸引了。

没错,又是一个没啥用的功能,哈哈,如下图:

就是统计你输入了多少字,然后告诉你相当于写了本啥书,哈哈。

然后我就想折腾到博客上,下面开始动手吧:

/*
 * 全站字数
 */
function allwords() {
    $chars = 0;
    $db = Typecho_Db::get();
    $select = $db ->select('text')->from('table.contents');//如果只要统计文章总字数不要统计单页的话可在后面加入->where('type = ?','post')
    $rows = $db->fetchAll($select);
    foreach ($rows as $row) { $chars += mb_strlen(trim($row['text']), 'UTF-8'); }
    if($chars<50000){
    echo '全站共 '.$chars.' 字,</br>还在努力更新中..</br>加油!加油啦!';}
    elseif ($chars<70000 && $chars>50000){
    echo '全站共 '.$chars.' 字,</br>写完一本埃克苏佩里的</br>《小王子》了!';}
    elseif ($chars<90000 && $chars>70000){
    echo '全站共 '.$chars.' 字,</br>写完一本鲁迅的</br>《呐喊》了!';}
    elseif ($chars<100000 && $chars>90000){
    echo '全站共 '.$chars.' 字,</br>写完一本林海音的</br>《城南旧事》了!';}
    elseif ($chars<110000 && $chars>100000){
    echo '全站共 '.$chars.' 字,</br>写完一本马克·吐温的</br>《王子与乞丐》了!';}
    elseif ($chars<120000 && $chars>110000){
    echo '全站共 '.$chars.' 字,</br>写完一本鲁迅的</br>《彷徨》了!';}
    elseif ($chars<130000 && $chars>120000){
    echo '全站共 '.$chars.' 字,</br>写完一本余华的</br>《活着》了!';}
    elseif ($chars<140000 && $chars>130000){
    echo '全站共 '.$chars.' 字,</br>写完一本曹禺的</br>《雷雨》了!';}
    elseif ($chars<150000 && $chars>140000){
    echo '全站共 '.$chars.' 字,</br>写完一本史铁生的</br>《宿命的写作》了!';}
    elseif ($chars<160000 && $chars>150000){
    echo '全站共 '.$chars.' 字,</br>写完一本伯内特的</br>《秘密花园》了!';}
    elseif ($chars<170000 && $chars>160000){
    echo '全站共 '.$chars.' 字,</br>写完一本曹禺的</br>《日出》了!';}
    elseif ($chars<180000 && $chars>170000){
    echo '全站共 '.$chars.' 字,</br>写完一本马克·吐温的</br>《汤姆·索亚历险记》了!';}
    elseif ($chars<190000 && $chars>180000){
    echo '全站共 '.$chars.' 字,</br>写完一本沈从文的</br>《边城》了!';}
    elseif ($chars<200000 && $chars>190000){
    echo '全站共 '.$chars.' 字,</br>写完一本亚米契斯的</br>《爱的教育》了!';}
    elseif ($chars<210000 && $chars>200000){
    echo '全站共 '.$chars.' 字,</br>写完一本巴金的</br>《寒夜》了!';}
    elseif ($chars<220000 && $chars>210000){
    echo '全站共 '.$chars.' 字,</br>写完一本东野圭吾的</br>《解忧杂货店》了!';}
    elseif ($chars<230000 && $chars>220000){
    echo '全站共 '.$chars.' 字,</br>写完一本莫泊桑的</br>《一生》了!';}
    elseif ($chars<250000 && $chars>230000){
    echo '全站共 '.$chars.' 字,</br>写完一本简·奥斯汀的</br>《傲慢与偏见》了!';}
    elseif ($chars<280000 && $chars>250000){
    echo '全站共 '.$chars.' 字,</br>写完一本钱钟书的</br>《围城》了!';}
    elseif ($chars<300000 && $chars>280000){
    echo '全站共 '.$chars.' 字,</br>写完一本张炜的</br>《古船》了!';}
    elseif ($chars<310000 && $chars>300000){
    echo '全站共 '.$chars.' 字,</br>写完一本茅盾的</br>《子夜》了!';}
    elseif ($chars<320000 && $chars>310000){
    echo '全站共 '.$chars.' 字,</br>写完一本阿来的</br>《尘埃落定》了!';}
    elseif ($chars<340000 && $chars>320000){
    echo '全站共 '.$chars.' 字,</br>写完一本艾米莉·勃朗特的</br>《呼啸山庄》了!';}
    elseif ($chars<350000 && $chars>340000){
    echo '全站共 '.$chars.' 字,</br>写完一本雨果的</br>《巴黎圣母院》了!';}
    elseif ($chars<400000 && $chars>350000){
    echo '全站共 '.$chars.' 字,</br>写完一本东野圭吾的</br>《白夜行》了!';}
    elseif ($chars<1000000 && $chars>400000){
    echo '全站共 '.$chars.' 字,</br>写完一本我国著名的</br>四大名著了!';}
    elseif ($chars>1000000){
    echo '全站共 '.$chars.' 字,</br>已写一本列夫·托尔斯泰的</br>《战争与和平》了!';}
} 

在 functions.php 文件最后加入上述代码,在需要显示的地方插入 <?php echo allwords(); ?> 即可调用。

当然,这肯定不是最完美的写法,但是管它呢,哈哈~

  • 最复杂的其实还是找到相对应字数的书籍,欢迎各位小伙伴继续补充,实在找不到了(手动狗头),哈哈~

* 若非特殊说明,本站文章均为博主原创,码字不易,如需转载,请注明出处!有疑问可留言交流,谢谢。

PHPTypecho11 

博客全站总字数统计 - Jdeal | Life is like a Design.