IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁網(wǎng)絡(luò)編程PHP編程 → php截取字符串

php截取字符串

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

1.substr(源字符串,其實(shí)位置[,長度])-截取字符串返回部分字符串

  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 負(fù)數(shù)從結(jié)尾開始取
  6. ?>

但是當(dāng)你截取中文字符串的時候很容易出現(xiàn)亂碼,因?yàn)橐粋漢字是兩個字節(jié),而一個英文字母是一個字節(jié)。解決辦法如下:

2.mb_substr(),使用方法和substr相同,不過要開啟php.ini里面extension=php_mbstring.dll擴(kuò)展,不用擔(dān)心,一般的空間商

都會開啟這個擴(kuò)展的。

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

網(wǎng)上也有很多中文字符串截取教程,實(shí)現(xiàn)起來比較復(fù)雜,感覺還是用php自帶的函數(shù)實(shí)現(xiàn)起來比較好。整理的網(wǎng)絡(luò)資料(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點(diǎn)點(diǎn)通", 1, 5); //php點(diǎn)
  16. ?>

(2)截取utf8編碼的多字節(jié)字符串 

  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點(diǎn)點(diǎn)通", 1, 5); //hp點(diǎn)點(diǎn)通
  10. ?>

(3)支持 utf-8、gb2312都支持的漢字截取函數(shù) 

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

    關(guān)鍵詞標(biāo)簽:php,字符串

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 plsql developer怎么連接數(shù)據(jù)庫-plsql deveplsql developer怎么連接數(shù)據(jù)庫-plsql deve2021年最好用的10款php開發(fā)工具推薦2021年最好用的10款php開發(fā)工具推薦在 PHP 中使用命令行工具在 PHP 中使用命令行工具php應(yīng)用程序安全防范技術(shù)研究php應(yīng)用程序安全防范技術(shù)研究

相關(guān)下載

人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方法PHP中防止SQL注入攻擊PHP會話Session的具體使用方法解析PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法CakePHP程序員必須知道的21條技巧PHP如何清空mySQL數(shù)據(jù)庫PHP采集圖片實(shí)例(PHP采集)plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法