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 相关文章推荐
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
PHP实现合并discuz用户
Aug 05 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
浅析PHP数据导出知识点
Feb 17 PHP
PHP读取目录树的实现方法分析
Mar 22 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
关于laravel5.5的定时任务详解(demo)
Oct 23 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生成缩略图的代码
2011/01/12 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
python实现连接mongodb的方法
2015/05/08 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
python生成word合同的实例方法
2021/01/12 Python
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
党委书记岗位职责
2013/11/24 职场文书
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
电子银行营销方案
2014/02/22 职场文书
会议接待欢迎标语
2014/10/08 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
Python中使用subprocess库创建附加进程
2021/05/11 Python