IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页网络编程PHP编程 → php截取字符串

php截取字符串

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串

  1. <?php
  2. $str ="itmop.com";
  3. echo substr($str, 2); //mop.com
  4. echo substr($str, 2,3); //mop
  5. echo substr($str, -2); //om 负数从结尾开始取
  6. ?>

但是当你截取中文字符串的时候很容易出现乱码,因为一个汉字是两个字节,而一个英文字母是一个字节。解决办法如下:

2.mb_substr(),使用方法和substr相同,不过要开启php.ini里面extension=php_mbstring.dll扩展,不用担心,一般的空间商

都会开启这个扩展的。

  1. <?php
  2. echo mb_substr("php点点通", 1,3,"UTF-8"); //hp点
  3. ?>

网上也有很多中文字符串截取教程,实现起来比较复杂,感觉还是用php自带的函数实现起来比较好。整理的网络资料(php代码)如下:

(1)截取GB2312中文字符串

  1. <?php
  2. //截取GB2312中文字符串
  3. function mysubstr($str, $start, $len) {
  4. $tmpstr = "";
  5. $strlen = $start + $len;
  6. for($i = 0; $i < $strlen; $i++) {
  7. if(ord(substr($str, $i, 1)) > 0xa0) {
  8. $tmpstr .= substr($str, $i, 2);
  9. $i++;
  10. } else
  11. $tmpstr .= substr($str, $i, 1);
  12. }
  13. return $tmpstr;
  14. }
  15. echo mysubstr("php点点通", 1, 5); //php点
  16. ?>

(2)截取utf8编码的多字节字符串 

  1. <?php
  2. //截取utf8字符串
  3. function utf8Substr($str, $from, $len)
  4. {
  5. return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
  6. '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
  7. '$1',$str);
  8. }
  9. echo utf8Substr("php点点通", 1, 5); //hp点点通
  10. ?>

(3)支持 utf-8、gb2312都支持的汉字截取函数 

  1. <?php
  2. //同时支持 utf-8、gb2312都支持的

    关键词标签:php,字符串

相关阅读

文章评论
发表评论

热门文章 plsql developer怎么连接数据库-plsql deveplsql developer怎么连接数据库-plsql deve2021年最好用的10款php开发工具推荐2021年最好用的10款php开发工具推荐在 PHP 中使用命令行工具在 PHP 中使用命令行工具php应用程序安全防范技术研究php应用程序安全防范技术研究

相关下载

人气排行 详解ucenter原理及第三方应用程序整合思路、方法PHP中防止SQL注入攻击PHP会话Session的具体使用方法解析PHP运行出现Notice : Use of undefined constant 的解决办法CakePHP程序员必须知道的21条技巧PHP如何清空mySQL数据库PHP采集图片实例(PHP采集)plsql developer怎么连接数据库-plsql developer连接数据库方法