在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 }
浙公网安备 33010602011771号