帝国CMS给TAG标签添加自动获取首字母的方法!(超级简单的方法)


avatar
pcwnas 2023-04-25 160

原文来自:https://liye5.com/

  帝国CMS给TAG标签添加自动获取首字母的方法!(超级简单的方法)

  在帝国CMS程序建站的过程中,我们经常会遇到各式各样的问题,例如今天要为大家分享的帝国CMS怎么给TAG标签添加自动获取首字母呢?下面帝国CMS模板网就来告诉大家帝国CMS给TAG标签添加自动获取首字母的方法,一起来学习学习吧:

  自己获取TAG首字母教程

  第一步:在表enewstags增加字段zm(建议用phpmyadmin或直接SQL:ALTER TABLE `phome_enewstags` ADD
`zm` CHAR(2) NOT NULL AFTER `tagname`;)

  ***********************************************

  第二步:

  找到:eadmintagsAddTags.php

  查找:$r=$empire->fetch1("select tagid,tagname,cid from {$dbtbpre}enewstags
where tagid='$tagid'");

  修改为:$r=$empire->fetch1("select tagid,tagname,zm,cid from
{$dbtbpre}enewstags where tagid='$tagid'");

  在69行后添加:

  第三步:

  修改文件:eadmintagsListTags.php

  ***********************************************

  require("../../class/userfun.php");

  查找:$tagname=RepPostVar($add['tagname']);

  202行后增加:$tagzm=getfirstchar(RepPostVar($_POST['tagname']));

  ***********************************************

  查找://修改TAGS 函数里添加:$zm=RepPostVar($add['zm']);

  查找:$sql=$empire->query("insert into
{$dbtbpre}enewstags(tagname,num,isgood,cid)
values('$tagname',0,0,'$cid');");

  修改为:$sql=$empire->query("insert into
{$dbtbpre}enewstags(tagname,num,zm,isgood,cid)
values('$tagname',0,'$tagzm',0,'$cid');");

  ***********************************************

  查找:$sql=$empire->query("update {$dbtbpre}enewstags set
tagname='$tagname',cid='$cid' where tagid='$tagid'");

  修改为:$sql=$empire->query("update {$dbtbpre}enewstags set
tagname='$tagname',cid='$cid',zm='$zm' where tagid='$tagid'");

  第四步:

  打开/e/class/userfun.php

  添加以下函数:

functiongetfirstchar($s0){$fchar=ord($s0{0});
if($fchar>=ord("A")and$fchar<=ord("z"))returnstrtoupper($s0{0});
$s1=iconv("UTF-8","gb2312",$s0);
$s2=iconv("gb2312","UTF-8",$s1);
if($s2==$s0){$s=$s1;}else{$s=$s0;}
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319and$asc<=-20284)return"A";
if($asc>=-20283and$asc<=-19776)return"B";
if($asc>=-19775and$asc<=-19219)return"C";
if($asc>=-19218and$asc<=-18711)return"D";
if($asc>=-18710and$asc<=-18527)return"E";
if($asc>=-18526and$asc<=-18240)return"F";
if($asc>=-18239and$asc<=-17923)return"G";
if($asc>=-17922and$asc<=-17418)return"I";
if($asc>=-17417and$asc<=-16475)return"J";
if($asc>=-16474and$asc<=-16213)return"K";
if($asc>=-16212and$asc<=-15641)return"L";
if($asc>=-15640and$asc<=-15166)return"M";
if($asc>=-15165and$asc<=-14923)return"N";
if($asc>=-14922and$asc<=-14915)return"O";
if($asc>=-14914and$asc<=-14631)return"P";
if($asc>=-14630and$asc<=-14150)return"Q";
if($asc>=-14149and$asc<=-14091)return"R";
if($asc>=-14090and$asc<=-13319)return"S";
if($asc>=-13318and$asc<=-12839)return"T";
if($asc>=-12838and$asc<=-12557)return"W";
if($asc>=-12556and$asc<=-11848)return"X";
if($asc>=-11847and$asc<=-11056)return"Y";
if($asc>=-11055and$asc<=-10247)return"Z";
if(!trim($s0)){returnnull;}
$s0=esub($s0,1);
$numstrs='123456789一二三四五六七八九';
$numstr['1']='1';
$numstr['2']='2';
$numstr['3']='3';
$numstr['4']='4';
$numstr['5']='5';
$numstr['6']='6';
$numstr['7']='7';
$numstr['8']='8';
$numstr['9']='9';
$numstr['一']='1';
$numstr['二']='2';
$numstr['三']='3';
$numstr['四']='4';
$numstr['五']='5';
$numstr['六']='6';
$numstr['七']='7';
$numstr['八']='8';
$numstr['九']='9';
if(strstr($numstrs,$s0)){return$numstr[$s0];}}

  OK,到这里就搞定了!其他的大家自行测试吧!