欧美黄色一级免费,爽爽日本在线视频免费,在线免费观看黄色片,欧美在线视频一区在线观看,99久视频,欧美九九视频,99精品在线播放

云南網(wǎng)站建設創(chuàng )新企業(yè) 昆明多彩網(wǎng)絡(luò )公司

php截取字符(按字符數截取),GBK中文

來(lái)源:昆明網(wǎng)頁(yè)設計 日期:2010-07-07 閱讀: 發(fā)表評論

php帶有內置的截取函數,但是僅在英文和數字環(huán)境下有效,截取中文和英文數字組合的時(shí)候就會(huì )出現亂碼問(wèn)題,本文是針對GBK中文的截取函數說(shuō)明。


/**
 * strlen得到一個(gè)字符串的字節數,filesize得到的是一個(gè)文件的字數
 *
 * ---------------------------------------------------------------------
 * 僅針對gbk字符
 *
 * 用到的函數:
 * ord() 函數:返回字符串第一個(gè)字符的 ASCII 值
 * 提示:
 * gbk編碼原理
 * 第一個(gè)字節ASCII碼>129的,它與它之后的1個(gè)字節一起組成一個(gè)gbk字符,
 *第一個(gè)字節ASCII碼<=129的,一個(gè)字節組成一個(gè)gbk字符
 */
function cutStr($str, $length = '') { // $length為字符個(gè)數,不是字節
 if ($length != '') { // 如果$length不為空
  $len = strlen($str); //得到字符長(cháng)度
  $strOk = '';
  $i = 0; //字符長(cháng)度
  $n = 0; //字符個(gè)數
  while ($i < $len && $n < $length) {
   $ascii = ord($str{$i}); //得到當前字節的ASCII碼
   if ($ascii > 129) { // 大于129,是2個(gè)字節字符
    $strOk .= substr($str, $i, 2);
    $i += 2;
    $n++;
   } else { // 小于等于129,是1個(gè)字節字符
    $strOk .= substr($str, $i, 1);
    $i++;
    $n++;
   }
  }
 } else {
  $strOk = $str;
 }
 return $strOk;
}
// 示例
$text = file_get_contents('test.txt'); //截取的字符串
echo cutStr($text);

發(fā)表評論評論列表(有 條評論)

相關(guān)文章:
暫無(wú)相關(guān)文章
最熱文章:
新手怎么制作網(wǎng)頁(yè)? 閱讀:7660
jcarousellite中文文檔 閱讀:6507
表單元素input、按鈕、文字完美垂 閱讀:6247
怎么使chrome(谷歌google 閱讀:6145
phpMailer中文文檔手冊 閱讀:4639
平乐县| 阿坝县| 方城县| 桃园市| 中宁县| 阿拉善左旗| 广汉市| 友谊县| 岳池县| 黑水县| 惠安县| 西畴县| 南陵县| 美姑县| 佛山市| 额济纳旗| 南郑县| 中西区| 调兵山市| 逊克县| 花莲县| 伊春市| 荆州市| 正镶白旗| 开江县| 京山县| 凌源市| 会同县| 会同县| 友谊县| 辽中县| 武功县| 苏尼特左旗| 宕昌县| 崇仁县| 鄢陵县| 平安县| 甘孜县| 克山县| 连平县| 蓬安县|