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

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

用法举例

[html]view plaincopy

print?

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

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

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

[php]view plaincopy

print?

1. if (ord($row['title'])>128) { //汉字开头

2. 

3. $letter=getfirstchar2($row['title']);  

4. 

5. }elseif(ord($row['title'])>=48 and ord($row['title'])<=57){ //数字开头

6. 

7. $letter=iconv_substr($title,0,1,'utf-8');  

8. 

9. }elseif(ord($row['title'])>=65 and ord($row['title'])<=90){ //大写英文开头

10. 

11. $letter=iconv_substr($row['title'],0,1,'utf-8');  

12. 

13. 

14. }elseif(ord($row['title'])>=97 and ord($row['title'])<=122){ //小写英文开头

15. 

16. $letter=iconv_substr($row['title'],0,1,'utf-8');  

17. $letter=strtoupper($letter);//字母转换成大写

18. }  

19. 

20. print_r($letter);exit;  

21. function getfirstchar2($s0){  

22. $s=iconv("UTF-8","gb2312"$s0);   

23. $asc=ord($s{0})*256+ord($s{1})-65536;   

24. if($asc>=-20319 and$asc<=-20284)return"A";   

25. if($asc>=-20283 and$asc<=-19776)return"B";   

26. if($asc>=-19775 and$asc<=-19219)return"C";   

27. if($asc>=-19218 and$asc<=-18711)return"D";   

28. if($asc>=-18710 and$asc<=-18527)return"E";   

29. if($asc>=-18526 and$asc<=-18240)return"F";   

30. if($asc>=-18239 and$asc<=-17923)return"G";   

31. if($asc>=-17922 and$asc<=-17418)return"H";   

32. if($asc>=-17417 and$asc<=-16475)return"J";   

33. if($asc>=-16474 and$asc<=-16213)return"K";   

34. if($asc>=-16212 and$asc<=-15641)return"L";   

35. if($asc>=-15640 and$asc<=-15166)return"M";   

36. if($asc>=-15165 and$asc<=-14923)return"N";   

37. if($asc>=-14922 and$asc<=-14915)return"O";   

38. if($asc>=-14914 and$asc<=-14631)return"P";   

39. if($asc>=-14630 and$asc<=-14150)return"Q";   

40. if($asc>=-14149 and$asc<=-14091)return"R";   

41. if($asc>=-14090 and$asc<=-13319)return"S";   

42. if($asc>=-13318 and$asc<=-12839)return"T";   

43. if($asc>=-12838 and$asc<=-12557)return"W";   

44. if($asc>=-12556 and$asc<=-11848)return"X";   

45. if($asc>=-11847 and$asc<=-11056)return"Y";   

46. if($asc>=-11055 and$asc<=-10247)return"Z";   

47. return false;   

48. }  

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

[html]view plaincopy

print?

1. <divclass="container padding-big"style="min-height:200px;">

2. <pclass="text-large">{dede:type }[field:typename/]{/dede:type}</p>

3. <divclass="line-big">

4. {dede:php}   

5. $sql = "select arc.id,arc.writer,arc.typeid, arc.title, arc.senddate,tp.sitepath,tp.namerule,tp.typedir from dede_archives  arc  left join `#@__arctype` tp on arc.typeid=tp.id where arc.typeid=2";  

6.  $dsql->SetQuery($sql);  

7. $dsql->Execute();//执行SQL操作  

8. while($row = $dsql->GetArray()){  

9. //print_r($row['title']);exit;  

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

11. $letter=substr(GetPinyin($row['title']),0,1);//取得拼音首字母  

12. $letter=strtoupper($letter);  

13. 

14. $arr[$letter]['writer'][]=$row["writer"];  

15. $arr[$letter]['url'][]=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],0,0,$row['namerule'],$row['typedir'],0, '',0,'',$row['sitepath']);  

16. $arr[$letter]['title'][]=$row["title"];         

17. }   

18. ksort($arr);//字母排序  

19. //print_r($arr);exit;  

20. $b=1;  

21. foreach($arr as $k=>$v){  

22. 

23. //print_r($v);exit;  

24. echo '<divclass="x3"><pclass="padding-left bg-eee st">'.strtoupper($k).'</p>';  

25. for ($x=0; $x<count($v['title']); $x++) {  

26.              echo '<ahref="'.$v[url][$x].'"><strong>'. $v[title][$x].'</strong></a><br/><hr/>';  

27. 

28.         }      

29.              echo '<br/></div>';// print_r($b%4);  

30.              if($b%3==0){echo '<hrclass="space"></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,强制换行,防止错位  

31.              }  

32.              $b++;  

33.              }  

34. {/dede:php}  

35. </div>

36. </div>

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

触发修改文章时间【fastadmincms开发记录】|fastadmincms二次开发,触发,修改,文章,时间,fastadmin,ms,开发,记录
触发修改文章时间【fastadmincms开发记录】
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】|fastadmincms二次开发,在tp5中,过滤,输入,的零,宽度,字符,fastadmin,ms,开发,记录
在tp5中过滤输入的零宽度字符【fastadmincms开发记录】
处理tag标签中的0宽空格【fastadmincms开发记录】|fastadmincms二次开发,处理,tag,标签,中的,0宽,空格,fastadmin,ms,开发,记录
处理tag标签中的0宽空格【fastadmincms开发记录】
添加专题时tags标签id出错【fastadmincms开发记录】|fastadmincms二次开发,添加,专题,时tags,标签,id,出错,fastadmin,ms,开发,记录
添加专题时tags标签id出错【fastadmincms开发记录】
20230518----模板 广告【fastadmincms开发记录】|fastadmincms二次开发,20230518,模板,广告,fastadmin,ms,开发,记录
20230518----模板 广告【fastadmincms开发记录】
cms添加视频模型【fastadmincms开发记录】|fastadmincms二次开发,ms,添加,视频,模型,fastadmin,开发,记录
cms添加视频模型【fastadmincms开发记录】
新增单篇收费复制功能【fastadmincms开发记录】|fastadmincms二次开发,新增,单篇,收费,复制,功能,fastadmin,ms,开发,记录
新增单篇收费复制功能【fastadmincms开发记录】
添加开会员折扣功能【fastadmincms开发记录】|fastadmincms二次开发,添加,开会,折扣,功能,fastadmin,ms,开发,记录
添加开会员折扣功能【fastadmincms开发记录】

历史上的今天:04月20日

oracle VM virtual Box 安装虚拟机并网络连接宿主机且能ping通外网

oracle VM virtual Box 安装虚拟机并网络连接宿主机且能ping通外网新建虚拟机虚拟机配置两条网络连接finallShell新建虚拟机首先准备Oracle VM virtualBox软件+CentOS-7-x86_64-Minimal-2009.iso镜像。参考镜像下载连接:支持centos7.8及其以上版本:http://mirrors.aliyun.com/centos/7/

Oracle VM virtualbox安装Linux,并访问外网,和宿主机互通

Oracle VM virtualbox安装Linux,并访问外网,和宿主机互通Oracle VM virtualbox(简称vbox)是一款开源的虚拟机软件,免费使用。说实话,没有vmware易上手,特别是网络配置对于新手比较劝退。但优点是占用资源少,不用破解。我电脑用vmware打开一个Linux虚拟机很卡顿,用vbox打开两个Linux虚拟机却很流畅。如果你电脑配置不高,vmware开多个虚

热门专题

云南综合高中|云南综合高中
云南综合高中
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
综合高中|云南综合高中,昆明综合高中,综合高中能考本一吗,综合高中和普通高中的区别,综合高中是什么意思,综合高中能参加全国统一高考吗,综合高中可以考哪些大学,综合高中的学籍是什么
综合高中
云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学
易捷尔单招|易捷尔单招,易捷尔单招培训,易捷尔单招报名,易捷尔单招考试,易捷尔单招培训学校,易捷尔单招分数
易捷尔单招
APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部