最新公告
  • 欢迎您光临牛气网,本站秉承“用心服务,做好服务”致力为站长提供优质的售后服务!立即加入我们
  • 织梦获得首字母方法,并实现文章列表按首字母归类

    方法一,织梦默认有这个函数,在include/inc/inc_fun_funAdmin.PHP中.即SpGetPinyin()

    但他只能得到全拼,没法得到首字母,

    用法举例

    $pingyin=GetPinyin($row['title'],0,1);

    $a=substr(GetPinyin($row['title']),0,1);//得到拼音首字母

    方法二,如果你只想得到首字母,不需要全拼,还可以用以下函数得到首字母

    if (ord($row['title'])>128) { //汉字开头
    $letter=getfirstchar2($row['title']);
    }else if(ord($row['title'])>=48 and ord($row['title'])<=57){ //数字开头
    $letter=iconv_substr($title,0,1,'utf-8');
    }
    else if(ord($row['title'])>=65 and ord($row['title'])<=90){ //大写英文开头
    $letter=iconv_substr($row['title'],0,1,'utf-8');
    }else if(ord($row['title'])>=97 and ord($row['title'])<=122){ //小写英文开头
    $letter=iconv_substr($row['title'],0,1,'utf-8');
    $letter=strtoupper($letter);//字母转换成大写
    }
    print_r($letter);exit;
    function getfirstchar2($s0){
    $s=iconv("UTF-8","gb2312", $s0);
    $asc=ord($s{0})*256+ord($s{1})-65536;
    if($asc>=-20319 and $asc<=-20284)return "A";
    if($asc>=-20283 and $asc<=-19776)return "B";
    if($asc>=-19775 and $asc<=-19219)return "C";
    if($asc>=-19218 and $asc<=-18711)return "D";
    if($asc>=-18710 and $asc<=-18527)return "E";
    if($asc>=-18526 and $asc<=-18240)return "F";
    if($asc>=-18239 and $asc<=-17923)return "G";
    if($asc>=-17922 and $asc<=-17418)return "H";
    if($asc>=-17417 and $asc<=-16475)return "J";
    if($asc>=-16474 and $asc<=-16213)return "K";
    if($asc>=-16212 and $asc<=-15641)return "L";
    if($asc>=-15640 and $asc<=-15166)return "M";
    if($asc>=-15165 and $asc<=-14923)return "N";
    if($asc>=-14922 and $asc<=-14915)return "O";
    if($asc>=-14914 and $asc<=-14631)return "P";
    if($asc>=-14630 and $asc<=-14150)return "Q";
    if($asc>=-14149 and $asc<=-14091)return "R";
    if($asc>=-14090 and $asc<=-13319)return "S";
    if($asc>=-13318 and $asc<=-12839)return "T";
    if($asc>=-12838 and $asc<=-12557)return "W";
    if($asc>=-12556 and $asc<=-11848)return "X";
    if($asc>=-11847 and $asc<=-11056)return "Y";
    if($asc>=-11055 and $asc<=-10247)return "Z";
    return false;
    }

    三,如何实现文章列表中,按首字母进行归类归档排序?下面是完整代码

    <div class="container padding-big"style="min-height:200px;">
    <p>{dede:type }[field:typename/]{/dede:type}</p>
    <div>
    {dede:php}
    $sql = "select arc.id,arc.writer,arc.typeid, arc.title, arc.senddate,tp.sitepath,tp.namerule,tp.typedir from dede_archives arc left join `dede_arctype` tp on arc.typeid=tp.id where arc.typeid=2";
    $dsql->SetQuery($sql);
    $dsql->Execute();//执行SQL操作
    while($row = $dsql->GetArray()){
    //print_r($row['title']);exit;
    //$pingyin=GetPinyin($row['title'],0,1);
    $letter=substr(GetPinyin($row['title']),0,1);//取得拼音首字母
    $letter=strtoupper($letter);

    $arr[$letter]['writer'][]=$row["writer"];
    $arr[$letter]['url'][]=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],0,0,$row['namerule'],$row['typedir'],0, '',0,'',$row['sitepath']);
    $arr[$letter]['title'][]=$row["title"];
    }
    ksort($arr);//字母排序
    //print_r($arr);exit;
    $b=1;
    foreach($arr as $k=>$v){

    //print_r($v);exit;
    echo '<div><p class="padding-left bg-eee st">'.strtoupper($k).'</p>';
    for ($x=0; $x<count($v['title']); $x++) {
    echo '<a href="'.$v[url][$x].'"><strong>'. $v[title][$x].'</strong></a><br/><hr/>';

    }
    echo '<br/></div>';// print_r($b%4);
    if($b%3==0){echo '<hr></hr>';//hr{background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:10px 0;
    border:none;-moz-box-sizing:content-box;box-sizing:content-box;}hr.space{background:#fff;color:#fff;visibility:hidden;}hr的css,强制换行,防止错位
    }
    $b++;
    }
    {/dede:php}
    </div>
    </div>

    1、本站所有资源皆来源于网络和用户自行上传,因此不包括售后和技术,敬请谅解!
    2、本站不保证所提供的源码的准确性、安全性和功能完善性,资源仅用于学习用!
    3、您下载的资源,请务必在24小时内删除,资源仅提供本地测试,请勿商用或者非法用途都与本站无关,一切后果自负!
    4、如发现资源下载不了,或者侵权请及时联系客服或者邮箱admin#niuqi.net,#改为@!
    牛气网 » 织梦获得首字母方法,并实现文章列表按首字母归类

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 60会员总数(位)
    • 3147资源总数(个)
    • 1989本月发布(个)
    • 0 今日发布(个)
    • 371已陪伴您(天)

    牛气网NIUQI.NET站长源码平台

    开通SVIP会员 了解详情
    升级SVIP尊享更多特权立即升级