当前位置 : 主页 > 网站建设 > 正文

PHP统计文章内容字符数

原创

重庆seo2018-01-11 14:53:23阅读()php开发编辑文章A+ / A-

PHP统计文章内容字符数

        DedeCMS用编辑器编辑文章的时候,需要统计文章的功能。如果文章字数过少,容易被判断为低质量页面。建议各位写文章字数不低于500个中文字符,或1000个英文字符。绝大多数网站如本SEO博客都是中英文字符混合,所以需要单独计算中文和英文。

        蜘蛛抓取的是中文、英文、梳子字符,对HTML代码是过滤的。

模拟蜘蛛抓取

↑用站长工具的模拟蜘蛛抓取功能

        实现方法其实比较简单,稍微懂点PHP都能看得懂。先看看下面这个例子:

PHP统计字符

<?php
//字节统计函数
function countWords($str){
  echo (mb_strlen($str, 'utf8') + strlen($str))/2;
}
//使用方法:
$strdemo1='吖七博客';
$strdemo2='http://www.vi86.com';
$strdemo3='吖七博客http://www.vi86.com';
countWords($strdemo1);
echo "<br/>";
countWords($strdemo2);
echo "<br/>";
countWords($strdemo3);
?>

        运行结果:

8    //8个字节,也就是4个中文,每个中文占用两个字节
19   //19个字节,19个英文字符
27   //包括19个英文和4个中文

        这里注意到,模板里面会有许多HTML标签,这些标签会占用字符,但百度是不抓取HTML的。

PHP去除HTML

<?php
$str='<a href="http://www.vi586.com/">吖七博客</a>';
$str=strip_tags($str);
echo $str;
?>

        运行结果:

吖七博客

        看完这个例子,这样就明白应该怎么统计了。

DedeCMS统计文章字符功能

        打开/include/extend.func.php,在最后面增加代码如下

//字符数统计-by吖七
function countWords($str){
  $str=strip_tags($str);
  $str=str_replace('&nbsp;','',$str);//过滤空格
  $str=(mb_strlen($str, 'utf8') + strlen($str))/2;
  return $str;
}

        一般统计的是文章body里面的文字,在对应的模板添加如下代码

<p>共{dede:field name='body' function='countWords(@me)'/}个字节</p>

    扩展阅读

    本文地址:https://www.vi586.com/web/508.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处

    赞(78)