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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
PHP提取数据库内容中的图片地址并循环输出
Mar 21 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
基于php下载文件的详解
Jun 02 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
php等比例缩放图片及剪切图片代码分享
Feb 13 PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
Feb 18 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
Aug 07 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 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采集腾讯微博的实现代码
2012/01/19 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
Servlet面试题库
2015/07/18 面试题
中专自我鉴定范文
2013/10/16 职场文书
行政助理的职责
2013/11/14 职场文书
如何写好自荐信
2014/04/07 职场文书
师恩难忘教学反思
2014/04/27 职场文书
奶茶店创业计划书
2014/08/14 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
公司人事任命通知
2015/04/20 职场文书