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之第九天
Oct 09 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
php max_execution_time执行时间问题
Jul 17 PHP
php cc攻击代码与防范方法
Oct 18 PHP
深入密码加salt原理的分析
Jun 06 PHP
php自动加载机制的深入分析
Jun 08 PHP
深入PHP magic quotes的详解
Jun 17 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
Jun 13 PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
php微信开发之音乐回复功能
Jun 14 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
linux中cd命令使用详解
2015/01/08 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
python目录与文件名操作例子
2016/08/28 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python类的实例化问题解决
2019/08/31 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
Django如何批量创建Model
2020/09/01 Python
详解python中的异常和文件读写
2021/01/03 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
怎样创建、运行java程序
2014/08/01 面试题
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
保险公司开门红口号
2014/06/21 职场文书
2014年卫生工作总结
2014/11/27 职场文书
早上好问候语大全
2015/11/10 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python