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 相关文章推荐
基于文本的搜索
Oct 09 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
php给一组指定关键词添加span标签的方法
Mar 31 PHP
PHP输入输出流学习笔记
May 12 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 PHP
PHP微信支付实例解析
Jul 22 PHP
PHP实现图片压缩
Sep 09 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
PHP7 list() 函数修改
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
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
浅谈js中的闭包
2015/03/16 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
javascript实现超好看的3D烟花特效
2020/01/01 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
python 图片验证码代码分享
2012/07/04 Python
Python迭代用法实例教程
2014/09/08 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
Python调用服务接口的实例
2019/01/03 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
CSS3 特效范例整理
2011/08/22 HTML / CSS
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
称象教学反思
2014/02/03 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
作风大整顿心得体会
2014/09/10 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python