dedecms统计当前文章的字数

在/include/extend.func.php文件最底部添加:

// 统计文章字数
function strlen_utf8($str) {
    $i = 0;
    $count = 0;
    $str = Html2text($str);
    $len = strlen($str);
    while ($i < $len) {
        $chr = ord($str[$i]);
        $count++;
        $i++;
        if ($i >= $len) {
            break;
        }
        if ($chr & 0x80) {
            $chr <<= 1;
            while ($chr & 0x80) {
                $i++;
                $chr <<= 1;
            }
        }
    }
    return $count;
}

前台调用标签为:

{dede:field.body function=‘strlen_utf8(@me)‘/}

例如:方圆建筑圆模板网详细页面的代码为:

<div class="content" id="content">
                <h1>{dede:field.title/}</h1>
                <div class="art_info"><span>发布时间:{dede:field.pubdate function="MyDate(‘Y-m-d H:i:s‘,@me)"/}</span> <span>编辑:{dede:field.writer/}</span> <span>来源:{dede:field.source/}</span> <span>阅读:{dede:field name=‘suiji‘ runphp=‘yes‘}@me = (rand(50,999));{/dede:field}次</span><div class="keyword">关键字:{dede:field.keywords/}</div></div>
                <div class="article" id="content">
                    <p class="daodu">导读:本文是由{dede:field.writer/}于{dede:field.pubdate function="MyDate(‘Y-m-d H:i:s‘,@me)"/}发布的关于<a href="http://www.sdfymb.com{dede:field name=‘arcurl‘/}">{dede:field.keywords/}</a>的资讯,其主要内容为:{dede:field.description runphp=‘yes‘}if(@me<>‘‘ )@me = @me;{/dede:field.description}</p>
                    <p class="tongji"><span>本文字数:{dede:field.body function=‘strlen_utf8(@me)‘/}字</span><span>预计阅读耗时:{dede:field.body function=‘strtime_utf8(@me)‘/}分钟</span><span>推荐咨询客服:<a rel="nofollow" href="/contactus.html" target="_blank">在线客服</a> <a rel="nofollow" href="/contactus.html" target="_blank">获取报价</a></span></p>
                    {dede:field.body/}
                    <div class="tag">本文标签:{dede:field.id function="GetTagsFLink(@me,‘ ‘)"/}</div>
<div class="shara"><div class="bdsharebuttonbox"><a rel="nofollow" href="#" class="bds_more" data-cmd="more">分享到:</a><a rel="nofollow" href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间">QQ空间</a><a rel="nofollow" href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博">新浪微博</a><a rel="nofollow" href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博">腾讯微博</a><a rel="nofollow" href="#" class="bds_renren" data-cmd="renren" title="分享到人人网">人人网</a><a rel="nofollow" href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信">微信</a></div>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{"bdSize":16}};with(document)0[(getElementsByTagName(‘head‘)[0]||body).appendChild(createElement(‘script‘)).src=‘http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=‘+~(-new Date()/36e5)];</script></div>
                    <div class="txt-upDown">
                        <p>{dede:prenext get=‘pre‘/}</p>
                        <p>{dede:prenext get=‘next‘/}</p>
                    </div>

原文地址:https://blog.51cto.com/14201330/2450200

时间: 2024-10-10 23:21:52

dedecms统计当前文章的字数的相关文章

dedecms中调用文章,标题超过限制字数时,在标题后面加上省略号...

在dedecms中调用文章,当标题超过限制字数时,怎么在标题后面加上……呢.其实不论是在首页还是列表页还是内容页调用文章,不管是arclist还是list标签调用文章,只需要把[field:title]这个标签适当修改. 一般是类似于这样: {dede:arclist row='10'} <li><a href="[field:arcurl /]" title="[field:fulltitle/]">[field:title/]</a

Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数

Linux课上的作业周三交,若有考虑不周到的地方,还请多多不吝赐教. shell处理文本相关的经常使用命令见此博客 # #假设输入两个參数 则第一个为统计单词的个数.第二个为要统计的文章 #假设输入一个參数 则默认统计单词的个数为10 # 详细思路: 将各种符号用换行替换(tr命令) 大写改小写(tr命令) 排序.统计单词个数并除去反复 (sort和uniq) 按出现次数的高低排序(sort) 打印N个须要统计的单词 #!/bin/bash if [ $# -ne 2 -a $# -ne 1 ]

如何使用css和jquery控制文章标题字数?

如何使用css控制文章标题字数? 最佳答案 控制文章标题字数,不是动态网页的专利,如果静态页面使用CSS样式,也可以实现相同的效果! 看这个例子,你们可以复制到记事本保存为HTML文件看效果! <html> <title>css控制字数</title> <head> <style type="text/css"> .dd { border: solid 1px gray; width:180px; overflow: hidd

织梦(dedecms)后台删除文章后台还有分页显示解决方法

鸡哥今天在给单位改一个织梦网站的时候发现了一个问题,由于本来的程序有7000多篇文章,鸡哥就直接执行了个sql语句给删除了,但是发现删除之后后台文章的分页还在显示着,错误截图给大家看看 看到没,经过鸡哥百度搜索发现这其实并不是鸡哥的操作问题,而是这本就是织梦5.7的一个bug,下边就给大家写下修复方法很简单: 先找到你的根目录中/dede/content_list.php这个文件打开找到 这段代码,可以直接搜索缓存处理就能找到 把红框中的代码修改为: $arr = $dsql->GetOne(&qu

Dedecms(织梦)文章内容页和图片集内容页,调用缩略图的方法

Dedecms(织梦)文章内容页和图片集内容页,调用缩略图的方法,亲测可用! Dedecms(织梦)首页的图片调用,相信大家已经非常的清楚,但是今天我在进行内容页的编写的时候,发现了内容页图片的调用问题! 这种问题,一般出现在产品站内页,因为会有产品缩略图的图片展示,所以今天我专门搜集了这方便的帖子! 为大家来解决这个问题,我想一定能帮助到大家! 好了话不多说,写内容先! 文章内容页和图片集内容页,缩略图的调用.适合内页中调用. <img src="{dede:field.picname 

dedecms实现编辑文章时不自动修改发布时间

dedecms默认编辑文章时自动修改文章的发布时间,如何让它不自动修改发布时间呢? 找到后台编辑文章的模板文件稍作调整即可. 文件/dede/templets/artical_edit.htm 把 $nowtime = GetDateTimeMk(time()); 改成 $nowtime = GetDateTimeMk($arcRow["pubdate"]);

织梦DedeCMS未审核文章更新为当前时间

对于个人站长来说,每天文章的更新量都是个巨大的问题,有时候我们去别的网站采集大量的文章,然后自己进行手工整理伪原创,但是审核的时候,时间却是采集发布的时间.一方面这个对用户体验不好,别人会认为文章不是最新的;另一方面,对搜索引擎来说,这个也是采集的证据吧,虽然官方没证实过这个. 那织梦DedeCMS怎么让未审核内容的更新时间为当前时间呢?原理是非常简单的,就是使用SQL语句Update一下文章的发布时间,具体实现的方法有两种: 1.增加当前时间按钮 这个方法是在编辑文章的页面增加一个更新时间的按

wordpress调用文章摘要,若无摘要则自动截取文章内容字数做为摘要

以下是调用指定分类文章列表的一个方法,作者如果有填写文章摘要则直接调用摘要:如果文章摘要忘记写了则自动截取文章内容字数做为摘要.这个方法也适用于调用description标签 <ul> <?php $args=array( 'cat' => 1, // 分类ID 'posts_per_page' => 10, // 显示篇数 ); query_posts($args); if(have_posts()) : while (have_posts()) : the_post();

dedecms统计指定栏目ID下的文章数量

{dede:type type=top typeid='栏目ID' } <li><img src="{dede:global.cfg_templets_skin/}/images/title.gif" /> <a href="[field:typelink/]" title="[field:typename/]">[field:typename/]</a>  ([field:ID runphp='y