织梦dedecms限制拼音网址长度的处理方法

92建站   2021-08-19   收藏本文

本文介绍了织梦dedecms限制拼音网址长度的处理方法,解决思路:打开这个文件inc_fun_funAdmin.php,把$restr .= "_ ";替换成$restr .= "- ",然后再把这个文件channelunit.func.php,继续根据教程替换代码就可以了。

以前92建站介绍过使用拼音首字母作栏目名的方法,下面来说说的方法。

实现教程:

一、网址长度及_替换成-方法

打开 include/inc/inc_fun_funAdmin.php

for($i=0;$i<$slen;$i++){

if(ord($str[$i])>0x80)

{

$c = $str[$i].$str[$i+1];

$i++;

if(isset($pinyins[$c])){

if($ishead==0) $restr .= $pinyins[$c];

else $restr .= $pinyins[$c][0];

}else $restr .= "_";

}else if( eregi("[a-z0-9]",$str[$i]) ){   $restr .= $str[$i]; }

else{ $restr .= "_"; }

}

把$restr .= "_";替换成$restr .= "-"; 

把for($i=0;$i<$slen;$i++)里面的$slen改成你想要的数字,则标题对大于这个数字的进行截断。实现网址按你的要求进行显示。

二、网址去掉id的方法

再include文件夹下找到channelunit.func.php 

再里面找到 

if(ereg('\{p',$articleRule)) 

$articleRule = str_replace('{pinyin}',GetPinyin($title).'_'.$aid,$articleRule); 

$articleRule = str_replace('{py}',GetPinyin($title,1).'_'.$aid,$articleRule); 

$articleUrl = '/'.ereg_replace('^/','',$articleRule); 

return $articleUrl; 

注意红色部分:把它替换为:

$articleRule = str_replace('{pinyin}',GetPinyin($title),$articleRule);

这样就介绍完了,放到模板里面直接使用就行了。

展开