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的宝库目录--PEAR
Oct 09 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
May 07 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
PHP7修改的函数
Mar 09 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下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
php fread读取文件注意事项
2016/09/24 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
js数组的基本使用总结
2021/01/18 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
python中实现字符串翻转的方法
2018/07/11 Python
想学python 这5本书籍你必看!
2018/12/11 Python
WxPython实现无边框界面
2019/11/18 Python
django实现日志按日期分割
2020/05/21 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
总会计师岗位职责
2014/02/19 职场文书
村级四风对照检查材料
2014/08/24 职场文书
最美护士演讲稿
2014/08/27 职场文书
民主评议党员总结
2014/10/20 职场文书