微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!
截取函数专题提供截取函数的最新资讯内容,帮你更好的了解截取函数。
thinkphp 内置字符串截取函数
thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便。调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用。 比如今天我们说的截取字符串函数,在thinkphp模板引擎里可以这样写:{$vo.title|msubstr=0,5,’utf-8′,false} 至于{$vo.title}这个大家肯定不陌生了。就说说后边的函数msubstr吧。它代表的意思是截取字符串$vo.title,从0个字符开始截取,截取5个字符。使用的是utf-8编码,默认截取后不显示省略号,如果要显示省略号,直接把false改成true就可以啦。 函数解释: msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)$str:要截取的字符串$start=0:开始位置,默认从0开始$length:截取长度$charset=”utf-8″:字符编码,默认UTF-8$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示 ps:如果不能正常调用,那说明你没有加载函数库,可以使用 Load('extend');来加载函数,把它放到action中就可以啦~! 经试用:官方的msubstr函数好像无论如何也加不上省略号,官网论坛上找了一个修改方法,经测试可以正常使用~! 修改Commonextend.php文件的msubstr函数为如下代码即可:  PHP Code复制内容到剪贴板 function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)  {      if(function_exists("mb_substr")){          if($suffix)               return mb_substr($str, $start, $length, $charset)."...";          else              return mb_substr($str, $start, $length, $charset);      }      elseif(function_exists('iconv_substr')) {          if($suffix)               return iconv_substr($str,$start,$length,$charset)."...";          else              return iconv_substr($str,$start,$length,$charset);      }      $re['utf-8']   = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";      $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";      $re['gbk']    = "/[x01-x7f]|[x81-xfe][x40-xfe]/";      $re['big5']   = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";      preg_match_all($re[$charset], $str, $match);      $slice = join("",array_slice($match[0], $start, $length));      if($suffix) return $slice."…";      return $slice;  
MySQL的字符串截取函数
MySQL字符串截取函数有:left(),right(),substring(),substring_index(),还有mid() ,subset()。但mid() ,subset()和substring()功能一样。所以会用substring()就行了。为方便起见,所以在本次MySQL连接中设置了一个用户自定义变量,字符串@str,以方便下面多次对其的操作。1、自定义变量设定的sql:set @str:='www.hao123.com.cn'; -- 注意:MySQL中字符下标从 1 开始,如本例中str下标为:1~17。不同于编程语言中数组下标从0开始。2、left()-- left(str,len)-- 从字符串的第3个位置开始截取select left(@str,3) -- 结果:www3、right()-- right(str,len)-- 从字符串倒数(右侧)第3个位置开始截取select right(@str,3) -- 结果:.cn4、substring()-- substring(str FROM pos FOR len)-- 从字符串的第1个位置,截取长度为4select substring(@str from 1 for 4) -- 结果:www.-- substring(str FROM pos)-- 从字符串的第4个位置,到结尾为止select substring(@str from 4) -- 结果:.hao123.com.cn-- substring(str,pos,len)-- 从字符串的第1个位置,截取长度为4select substring(@str,1,4) -- 结果:www.-- substring(str,pos)-- 从字符串的第4个位置,到结尾为止select substring(@str,4) -- 结果:.hao123.com.cn-- substring(str FROM pos FOR len)-- 从字符串倒数第5个位置开始截取,截取长度为3select substring(@str from -5 for 3) -- 结果:om.-- substring(str FROM pos)-- 从字符串倒数第4个为止开始截取,到字符串结束select substring(@str from -4) -- 结果:m.cn-- substring(str,pos,len)-- 从字符串倒数第5个位置开始截取,截取长度为3select substring(@str,-5,3) -- 结果:om.-- substring(str,pos)-- 从字符串倒数第4个为止开始截取,到字符串结束select substring(@str,-4) -- 结果:m.cn5、substring_index()-- substring_index(str,delim,count)-- 从字符串第1个位置开始,到关键字出现的第2个位置的前(左)1位为止select substring_index(@str,'.',2) -- 结果:www.hao123-- 如果找不到关键字,则返回整个字符串select substring_index(@str,'。',2) -- 结果:www.hao123.com.cnselect substring_index(@str,'.',10) -- 结果:www.hao123.com.cn-- substring_index(str,delim,count)-- 注意:取出开始位置:关键字倒数第2次出现的位置的下(右)1位-- 取出结束位置:给定字符串最后1位select substring_index(@str,'.',-2) -- 结果:com.cn-- 找不到关键字,则返回整个字符串select substring_index(@str,'.',-10) -- 结果:www.hao123.com.cn