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 相关文章推荐
一个数据采集类
Feb 14 PHP
经典的PHPer为什么被认为是草根?
Apr 02 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 PHP
php防止站外远程提交表单的方法
Oct 20 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
Yii框架创建cronjob定时任务的方法分析
May 23 PHP
PHP的curl函数的用法总结
Feb 14 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
Jul 26 PHP
TP5框架页面跳转样式操作示例
Apr 05 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 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
PHP邮件发送类PHPMailer用法实例详解
2014/09/22 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
vue生命周期的探索
2019/04/03 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
Python lambda和Python def区别分析
2014/11/30 Python
python类和继承用法实例
2015/07/07 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
Python中的类与类型示例详解
2019/07/10 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
装修设计师求职信
2014/02/26 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
新郎结婚保证书
2015/02/26 职场文书
二审答辩状范文
2015/05/22 职场文书
导师鉴定意见
2015/06/05 职场文书
推普标语口号大全
2015/12/26 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
运动会主持人开幕词
2016/03/04 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python