用PHP提取中英文詞語以及數(shù)字的首字母的方法介紹_PHP教程

      編輯Tag賺U幣

      推薦:基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法
      本篇文章小編為大家介紹,基于PHP讀取TXT文件向數(shù)據(jù)庫導(dǎo)入海量數(shù)據(jù)的方法。需要的朋友參考下

      最近項(xiàng)目有個(gè)需求,在一個(gè)中英文(包括阿拉伯?dāng)?shù)字0-9)的海量詞庫中,提取每一個(gè)詞語的首字母:

      gannicus——>G

      自由自在——>Z

      2B——>E

      傻X——>S

      復(fù)制代碼 代碼如下:www.wf0088.com

      private function getfirstchar($s0){
      $s=iconv('UTF-8','gb2312', $s0);
      if (ord($s0)>128) { //漢字開頭
      $asc=ord($s{0})*256+ord($s{1})-65536;
      if($asc>=-20319 and $asc<=-20284)return "A";
      if($asc>=-20283 and $asc<=-19776)return "B";
      if($asc>=-19775 and $asc<=-19219)return "C";
      if($asc>=-19218 and $asc<=-18711)return "D";
      if($asc>=-18710 and $asc<=-18527)return "E";
      if($asc>=-18526 and $asc<=-18240)return "F";
      if($asc>=-18239 and $asc<=-17923)return "G";
      if($asc>=-17922 and $asc<=-17418)return "I";
      if($asc>=-17417 and $asc<=-16475)return "J";
      if($asc>=-16474 and $asc<=-16213)return "K";
      if($asc>=-16212 and $asc<=-15641)return "L";
      if($asc>=-15640 and $asc<=-15166)return "M";
      if($asc>=-15165 and $asc<=-14923)return "N";
      if($asc>=-14922 and $asc<=-14915)return "O";
      if($asc>=-14914 and $asc<=-14631)return "P";
      if($asc>=-14630 and $asc<=-14150)return "Q";
      if($asc>=-14149 and $asc<=-14091)return "R";
      if($asc>=-14090 and $asc<=-13319)return "S";
      if($asc>=-13318 and $asc<=-12839)return "T";
      if($asc>=-12838 and $asc<=-12557)return "W";
      if($asc>=-12556 and $asc<=-11848)return "X";
      if($asc>=-11847 and $asc<=-11056)return "Y";
      if($asc>=-11055 and $asc<=-10247)return "Z";
      }else if(ord($s)>=48 and ord($s)<=57){ //數(shù)字開頭
      switch(iconv_substr($s,0,1,'utf-8'))
      {
      case 1:return "Y";
      case 2:return "E";
      case 3:return "S";
      case 4:return "S";
      case 5:return "W";
      case 6:return "L";
      case 7:return "Q";
      case 8:return "B";
      case 9:return "J";
      case 0:return "L";
      }
      }else if(ord($s)>=65 and ord($s)<=90){ //大寫英文開頭
      return substr($s,0,1);
      }else if(ord($s)>=97 and ord($s)<=122){ //小寫英文開頭
      return strtoupper(substr($s,0,1));
      }
      else
      {
      return iconv_substr($s0,0,1,'utf-8');//中英混合的詞語,不適合上面的各種情況,因此直接提取首個(gè)字符即可
      }

      }

      遺留問題:仍有少量詞語無法提取,如亙古不滅,的G 沒有提取出來

      最終效果如圖:

      分享:php判斷終端是手機(jī)還是電腦訪問網(wǎng)站代碼
      ?php function check_wap() { if (isset($_SERVER['HTTP_VIA'])) return true; if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE'])) return true; if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])) return true; if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']),

      來源:模板無憂//所屬分類:PHP教程/更新時(shí)間:2013-04-24
      相關(guān)PHP教程