在Joomla中去html标签纯文字自定义长度截取中英文字符串

本文实例讲述了Joomla框架实现字符串截取的方法。分享给大家供大家参考,具体如下:

在用joomla进行开发的时候,需要用到国外的资源,一些module,组件,插件之类的,但是我们会发现,在字符串这个方法都需要进行修改。因为PHP的substr方法只是针对于非中文字符串有效,所以要使用另外一种简便容易的方法mb_substr,这样就能轻松解决截取字符的问题。

同时如果需要针对中文,英文,中英文混合排列三种方式(标点符号除外)进行截取字符串,那么正则表达式就派上用场了,附上源码,仅供参考。

 1 /**
 2  * 截取字符串
 3  * @param $str 字符串
 4  * @param $number 截取长度
 5  * @return string
 6  */
 7 function cutStrTxt($str, $number)
 8 {
 9     $str = strip_tags($str);
10     //匹配英文字母
11     $en = preg_match('/^[a-zA-Z]/', $str);
12     //匹配汉字,统计个数,返回给$arrc
13     $cn = preg_match_all("/([\x{4e00}-\x{9fa5}]){1}/u", $str, $arrc);
14     //'UTF8'跟据字符串的格式调整
15     if (mb_strlen($str, 'UTF8') <= $number) {
16         return $str;
17     } else {
18         if ($en) {
19             if ($cn) {
20                 //中英文混合情况下
21                 return mb_substr($str, 0, $number + 2, 'utf-8') . '...';
22             } else {
23                 //全为英文情况下
24                 return mb_substr($str, 0, $number + 4, 'utf-8') . '...';
25             }
26         } else {
27             //全为中文情况下
28             return mb_substr($str, 0, $number, 'utf-8') . '...';
29         }
30     }
31 }

 

posted on 2018-12-07 10:37  adanada  阅读(93)  评论(0)    收藏  举报

导航