Joomla框架实现字符串截取的方法示例


Posted in PHP onJuly 18, 2017

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

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

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

/*截取字符串方法*/
//$str字符串
//$number为最大长度
function cutStrTitle($str, $number){
  $str = strip_tags($str);
  $en=preg_match('/^[a-zA-Z]/', $str);//匹配英文字母
  $cn=preg_match_all("/([\x{4e00}-\x{9fa5}]){1}/u",$str,$arrc);//匹配汉字,统计个数,返回给$arrc
  if(mb_strlen($str,'UTF8')<= $number){//'UTF8'跟据字符串的格式调整
    return $str;
  }
  else{
    if($en)
    {
      if($cn){
        //中英文混合情况下
        return mb_substr($str,0,$number+2,'utf-8').'...';
      }
      else{
        //全为英文情况下
        return mb_substr($str,0,$number+4,'utf-8').'...';
      }
    }
    else {
      //全为中文情况下
      return mb_substr($str,0,$number,'utf-8').'...';
    }
  }
}

更多PHP框架相关内容感兴趣的读者可查看本站专题:《php优秀开发框架总结》、《ThinkPHP入门教程》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家PHP框架程序设计有所帮助。

PHP 相关文章推荐
PHP.MVC的模板标签系统(四)
Sep 05 PHP
一个oracle+PHP的查询的例子
Oct 09 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
Yii中的relations数据关联查询及统计功能用法详解
Jul 14 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
PHP中的异常处理机制深入讲解
Nov 10 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 #PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 #PHP
PHP基于XMLWriter操作xml的方法分析
Jul 17 #PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 #PHP
PHP基于SimpleXML生成和解析xml的方法示例
Jul 17 #PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 #PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 #PHP
You might like
最简单的PHP程序--记数器
2006/10/09 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
PHPUnit安装及使用示例
2014/10/29 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
Python中字符串的处理技巧分享
2016/09/17 Python
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
合作意向协议书范本
2014/03/31 职场文书
党支部先进事迹材料
2014/12/24 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
浅谈Python数学建模之线性规划
2021/06/23 Python
Python实现照片卡通化
2021/12/06 Python
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技