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调用三种数据库的方法(1)
Oct 09 PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
Nov 18 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
PHP实现更改hosts文件的方法示例
Aug 08 PHP
thinkPHP框架自动填充原理与用法分析
Apr 03 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
PHP attributes()函数讲解
Feb 03 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 Ajax乱码
2008/04/09 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
DOM精简教程
2006/10/03 Javascript
用cssText批量修改样式
2009/08/29 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
教你使用python画一朵花送女朋友
2018/03/29 Python
Python简单生成随机数的方法示例
2018/03/31 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
详解python:time模块用法
2019/03/25 Python
tornado+celery的简单使用详解
2019/12/21 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
用python绘制樱花树
2020/10/09 Python
Python读写锁实现实现代码解析
2020/11/28 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
高中毕业自我鉴定范文
2013/10/02 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
2015年商场工作总结
2015/04/27 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python