K9 通用版 博客版 主题版 地方门户版 企业版 |   企业(ASP) 分类 使用 分享 疑问 模板 建议 帮助 错误 其他
+新建主题 [Ajax]
填写帐号密码即可完成注册
+新建话题 最新回复排序 最新主题排序 精华帖子

size="50"限定字数后,如何才能让后面的..不显示出来?

1Next >

liuzdong 发表于:11-10-13 19:23 编辑于:10-13 20:52 [添加收藏] 楼主 [回复] #Top#
liuzdong 人气:40 积分:341 金币:2613
VIP

(king:title size="50"/) 限定字数后,如何才能让后面的..不显示出来呢?

因为涉及到利用数据源调用shopex里的图片地址,

所以要限定字符,否则图片地址会出错。


其实也就是标签在哪里定义的问题。请哪位大侠指教下。

shopex图片地址很变态,后面有一段字符的,前面是正确的图片地址。images/goods/20111010/07ae8fe0972ac185.png|/goods/20111010/07ae8fe0972ac185.png|fs_storage这个是shopex中数据库里的图片的地址。但他的真实地址是images/goods/20111010/07ae8fe0972ac185.png
所以我要截取字符。用(king:title size="50"/)这个标签,截取下来的字符会是images/goods/20111010/07ae8fe0972ac185.png..
那图片地址就又不对了。所以要..去掉才行

其实是很简单的问题,就是不知道 Kingcms的这些标签是在哪个文件里定义的

 已经解决了---------------------------------

systemlibfunc.php 这个文件里

这一段
function kc_substr($str,$from,$len){
 preg_match_all('#(?:[x00-x7F]|[xC0-xFF][x80-xBF]+)#s',$str,$array, PREG_PATTERN_ORDER);

 $from1=0;$len1=0;
 $s='';
 foreach($array[0] as $key => $val){
  $n=ord($val)>=128 ? 2:1;
  $from1+=$n;
  if($from1>$from){
   $len1+=$n;
   if($len1<=$len){
    $s.=$val;
   }else{
    return $s.'..';
   }
  }
 }
 return $s;
}



return $s.'..'; 改成return $s.''; 就OK了。



cwwqsz 发表于:11-10-14 00:40 沙发 [回复] #Top#
cwwqsz 人气:0 积分:68 金币:20
谢谢分享,正需要~~~~
鼻涕虫 发表于:11-10-14 12:47 板凳 [回复] #Top#
鼻涕虫 人气:57 积分:157 金币:11419
方法太牵强了...
这样一旦图片地址的长度不同则没办法处理了,其实蛮简单的,不需要修改什么源代码。只需要用替换函数就行了,如果后面的是固定的|fs_storage就替换成空。
replace="<FIND>|<NEW STRING>"
如果不是固定的可以用分割字符串来解决,从|符号开始分割取前面一段。

1Next >

发表回复

帐号 匿名发布 审核后可见 [加载完整在线编辑器]
内容
验证码
KingCMS 内容管理系统

关于我们 联系我们 广告报价 付款方式 站点导航

Copyright © 2004-2015 Focuznet All rights reserved.

广州唯众网络科技有限公司 粤ICP备08008106号

中奖了!