国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php 截取中英文混合字符串的方法

2024-05-05 00:04:04
字體:
來源:轉載
供稿:網友

php/52215.html">php/48434.html">php 截取中應為字符串,就不必再用substr或者mb_substr

//截取想這樣的字符串a李三

利用ASCII

/** *  * 中英混合的字符串截取 * @param unknown_type $sourcestr * @param unknown_type $cutlength */function assoc_substr($sourcestr, $cutlength) {   $returnstr = '';   $i = 0;   $n = 0;   $str_length = strlen ( $sourcestr ); //字符串的字節數    while ( ($n < $cutlength) and ($i <= $str_length) ) {    $temp_str = substr ( $sourcestr, $i, 1 );    $ascnum = Ord ( $temp_str ); //得到字符串中第$i位字符的ascii碼     if ($ascnum >= 224) {//如果ASCII位高與224,       $returnstr = $returnstr . substr ( $sourcestr, $i, 3 ); //根據UTF-8編碼規范,將3個連續的字符計為單個字符         $i = $i + 3; //實際Byte計為3       $n ++; //字串長度計1    } elseif ($ascnum >= 192){ //如果ASCII位高與192,       $returnstr = $returnstr . substr ( $sourcestr, $i, 2 ); //根據UTF-8編碼規范,將2個連續的字符計為單個字符        $i = $i + 2; //實際Byte計為2       $n ++; //字串長度計1    } elseif ($ascnum >= 65 && $ascnum <= 90) {//如果是大寫字母,     $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );     $i = $i + 1; //實際的Byte數仍計1個     $n ++; //但考慮整體美觀,大寫字母計成一個高位字符    }elseif ($ascnum >= 97 && $ascnum <= 122) {      $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );      $i = $i + 1; //實際的Byte數仍計1個      $n ++; //但考慮整體美觀,大寫字母計成一個高位字符    } else {//其他情況下,半角標點符號,     $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );     $i = $i + 1;      $n = $n + 0.5;     }   }   return $returnstr;}

總結

以上所述是小編給大家介紹的php 截取中英文混合字符串的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 龙胜| 霍林郭勒市| 临安市| 潮安县| 沁水县| 炉霍县| 峨眉山市| 阳江市| 横峰县| 容城县| 通城县| 高台县| 积石山| 河南省| 仁寿县| 阜康市| 沙田区| 钦州市| 漳州市| 青河县| 比如县| 阿拉善右旗| 江安县| 远安县| 唐山市| 江陵县| 昆明市| 鄂州市| 洞口县| 沁水县| 抚远县| 海伦市| 颍上县| 赞皇县| 九龙城区| 临高县| 玉山县| 梨树县| 汾西县| 密云县| 密云县|