截取字符串,后打点

    最近项目中经常用到截取字符串进行显示的问题,在此特意总结一下:

1.vm (velocity model)文件中:

#set($title = $xpath.getNode($item,”/rss/channel/item/title”).getText())

#set($titleShort = $title)

#if($titleShort.length()>20)

#set($titleShort = $titleShort.substr(0,20)+”…”)

#end

 
<a title=”$title”>$titleShort</a> 
 

附: vm 中函数为 java 规范;

Java 中字符全部为 Unicode 规范,因此,中文字符和英文字符统一当做一个字符来处理。

   

 

2.php 文件中设计中文与英文字符混杂的情况截取字符串函数:

 

function utf_substr($str,$len){
           for($i=0;$i<$len;$i++){
                    $temp_str=substr($str,0,1);
                    if(ord($temp_str) > 127){
                              $i++;
                              if($i<$len){
                                       $new_str[]=substr($str,0,3);
                                       $str=substr($str,3);
                               }
                    }else{
                               $new_str[]=substr($str,0,1);
                               $str=substr($str,1);
                   }   
          }
           return join($new_str);
}

 if (strlen($a['describ'])>300) {
           $a['describ'] = utf_substr($a['describ'],200)."...";
 }

 echo $a['describ'] 

 

这样不会出现截取后半个字体的情况出现啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值