麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

PHP截取中文字符串函數(shù)總結(jié)

2024-09-04 11:49:10
字體:
供稿:網(wǎng)友

在網(wǎng)上看到有很多關(guān)于截取中文字符串的一些函數(shù),在此本文章就為各位整理一下這些常用的截取中文字符串的例子吧,希望例子能幫助到大家哦.

常用的php函數(shù):

  1. strstr(string,string)            //從前面第一次出現(xiàn)某個字符串的地方截取到最后 
  2. strrchr(string,string)         //從某個字符串從最后出現(xiàn)的位置截取到結(jié)尾 
  3. strpos(string,string[,int])  //某個字符串第一次出現(xiàn)的位置 
  4. strrpos(string,string)      //某個字符串最后一次出現(xiàn)的位置 
  5. substr(string,int[,int])    //從指定位置開始截取字符串,可以指定截取的長度。 
  6. strlen(string)               //獲取字符串的長度PHP截取開始和結(jié)束標(biāo)記間的字符 

方法一:利用explode對字符串進(jìn)行分,代碼如下:

  1. /** 
  2. * Get the content between $start and $end 
  3. * 
  4. * @param string $content 原始字符 
  5. * @param string $start     起始字符 
  6. * @param string $end      結(jié)束字符 
  7. * @return string 
  8. */ 
  9. function GetStringBetween($content,$start,$end){ 
  10.     $r = explode($start$content); 
  11.     if (isset($r[1])){ 
  12.         $r = explode($end$r[1]); 
  13.         return $r[0]; 
  14.     } 
  15.     return ''

方法二:利用substr截取字符,由于php組件函數(shù),因此字符串處理效率比explode方法要高一些,代碼如下:

  1. /** 
  2. * Get the content between $start and $end 
  3. * 
  4. * @param string $content 原始字符 
  5. * @param string $start     起始字符 
  6. * @param string $end      結(jié)束字符 
  7. * @return string 
  8. */ 
  9. function get_string_between($string$start$end){ 
  10.     $string = " ".$string//開源軟件:Vevb.com 
  11.     $ini = strpos($string,$start); 
  12.     if ($ini == 0) return ""
  13.     $ini += strlen($start); 
  14.     $len = strpos($string,$end,$ini) - $ini
  15.     return substr($string,$ini,$len); 

PHP截取所有符合起始與結(jié)束標(biāo)記的字符串,代碼如下:

  1. /** 
  2. * Get all every strings between two tags 
  3. * 
  4. * @param string $string 原始字符串 
  5. * @param string $start  起始字符串 
  6. * @param string $end   結(jié)束字符串 
  7. * @return array 
  8. */ 
  9. function get_all_strings_between($string,$start,$end
  10.     //Returns an array of all values which are between two tags in a set of data 
  11.     $strings = array(); 
  12.     $startPos = 0; 
  13.     $i = 0; 
  14.     //echo strlen($string)."n"; 
  15.     while($startPos < strlen($string) && $matched = get_string_between(substr($string,$startPos),$start,$end)) 
  16.     { 
  17.         if ($matched == null || $matched[1] == null || $matched[1] == ''break
  18.         $startPos = $matched[0]+$startPos+1; 
  19.         array_push($strings,$matched[1]); 
  20.         $i++; 
  21.     } 
  22.     return $strings
  23. function get_string_between($string$start$end){ 
  24.     $ini = strpos($string,$start); 
  25.     if ($ini == 0) return null; 
  26.     $ini += strlen($start); 
  27.     $len = strpos($string,$end,$ini) - $ini
  28.     return array($ini+$len,substr($string,$ini,$len)); 

php截取起始與結(jié)束標(biāo)記間字符,帶截取次數(shù),是否允許重復(fù)選項,代碼如下:

  1. /** 
  2. * Get all every strings between two tags 
  3. * 
  4. * @param string $string 原始字符串 
  5. * @param string $start  起始字符串 
  6. * @param string $end   結(jié)束字符串 
  7. * @return array 
  8. */ 
  9. function get_all_strings_between($string,$start,$end
  10.     //Returns an array of all values which are between two tags in a set of data 
  11.     $strings = array(); 
  12.     $startPos = 0; 
  13.     $i = 0; 
  14.     //echo strlen($string)."n"; 
  15.     while($startPos < strlen($string) && $matched = get_string_between(substr($string,$startPos),$start,$end)) 
  16.     { 
  17.         if ($matched == null || $matched[1] == null || $matched[1] == ''break
  18.         $startPos = $matched[0]+$startPos+1; 
  19.         array_push($strings,$matched[1]); 
  20.         $i++; 
  21.     } 
  22.     return $strings
  23. function get_string_between($string$start$end){ 
  24.     $ini = strpos($string,$start); 
  25.     if ($ini == 0) return null; 
  26.     $ini += strlen($start); 
  27.     $len = strpos($string,$end,$ini) - $ini
  28.     return array($ini+$len,substr($string,$ini,$len)); 

截取GB2312中文字符串,代碼如下:

  1. <?php 
  2. //截取中文字符串 
  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. return $tmpstr
  13. ?> 

截取utf8編碼的多字節(jié)字符串,代碼如下:

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲第一页中文字幕 | 在线成人免费视频 | 欧美囗交| 黄色网址电影 | 99精品在线视频观看 | 久久看免费视频 | www.精品一区 | 亚洲精品一区二区三区免 | 国产精品99久久久久久大便 | 看个毛片 | 国产妇女乱码一区二区三区 | 亚洲第五色综合网 | 日本网站一区二区三区 | 欧美成年人视频在线观看 | 国产精品视频在线观看免费 | 91久久在线观看 | 欧美a区| 在线观看国产一区二区 | 综合网天天色 | 青青草最新网址 | 欧美a一| 成人羞羞在线观看网站 | 欧美成人精品不卡视频在线观看 | 免费国产不卡午夜福在线 | 七首小情歌泰剧在线播放 | 久久精品亚洲精品国产欧美kt∨ | 鲁人人人鲁人人鲁精品 | 午夜影视一区二区 | 欧美激情综合在线 | 福利在线播放 | 福利免费在线观看 | 一区在线不卡 | 成人三级电影网址 | 中文区中文字幕免费看 | 国产一区二区成人在线 | 久久久麻豆 | 欧美1—12sexvideos | 国产小视频在线 | 日韩视频一区二区在线观看 | 伊人久操视频 | 91精品国产综合久久久动漫日韩 |