html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

PHP字符串截取_PHP教程_编程技术

[ ] 已经帮助:人解决问题

 e2CHTML5中文学习网 - HTML5先行者学习网

  /**e2CHTML5中文学习网 - HTML5先行者学习网

  * 字符截取 支持UTF8/GBKe2CHTML5中文学习网 - HTML5先行者学习网

  * @param $stringe2CHTML5中文学习网 - HTML5先行者学习网

  * @param $lengthe2CHTML5中文学习网 - HTML5先行者学习网

  * @param $dote2CHTML5中文学习网 - HTML5先行者学习网

  */e2CHTML5中文学习网 - HTML5先行者学习网

  function str_cut($string, $length, $dot = '...') {e2CHTML5中文学习网 - HTML5先行者学习网

  $strlen = strlen($string);e2CHTML5中文学习网 - HTML5先行者学习网

  if($strlen <= $length) return $string;e2CHTML5中文学习网 - HTML5先行者学习网

  $string = str_replace(array(' ',' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), array('∵',' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string);e2CHTML5中文学习网 - HTML5先行者学习网

  $strcut = '';e2CHTML5中文学习网 - HTML5先行者学习网

  if(strtolower(CHARSET) == 'utf-8') {e2CHTML5中文学习网 - HTML5先行者学习网

  $length = intval($length-strlen($dot)-$length/3);e2CHTML5中文学习网 - HTML5先行者学习网

  $n = $tn = $noc = 0;e2CHTML5中文学习网 - HTML5先行者学习网

  while($n < strlen($string)) {e2CHTML5中文学习网 - HTML5先行者学习网

  $t = ord($string[$n]);e2CHTML5中文学习网 - HTML5先行者学习网

  if($t == 9 $t == 10 (32 <= $t && $t <= 126)) {e2CHTML5中文学习网 - HTML5先行者学习网

  $tn = 1; $n++; $noc++;e2CHTML5中文学习网 - HTML5先行者学习网

  } elseif(194 <= $t && $t <= 223) {e2CHTML5中文学习网 - HTML5先行者学习网

  $tn = 2; $n += 2; $noc += 2;e2CHTML5中文学习网 - HTML5先行者学习网

  } elseif(224 <= $t && $t <= 239) {e2CHTML5中文学习网 - HTML5先行者学习网

  $tn = 3; $n += 3; $noc += 2;e2CHTML5中文学习网 - HTML5先行者学习网

  } elseif(240 <= $t && $t <= 247) {e2CHTML5中文学习网 - HTML5先行者学习网

  $tn = 4; $n += 4; $noc += 2;e2CHTML5中文学习网 - HTML5先行者学习网

  } elseif(248 <= $t && $t <= 251) {e2CHTML5中文学习网 - HTML5先行者学习网

  $tn = 5; $n += 5; $noc += 2;e2CHTML5中文学习网 - HTML5先行者学习网

  } elseif($t == 252 $t == 253) {e2CHTML5中文学习网 - HTML5先行者学习网

  $tn = 6; $n += 6; $noc += 2;e2CHTML5中文学习网 - HTML5先行者学习网

  } else {e2CHTML5中文学习网 - HTML5先行者学习网

  $n++;e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

  if($noc >= $length) {e2CHTML5中文学习网 - HTML5先行者学习网

  break;e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

  if($noc > $length) {e2CHTML5中文学习网 - HTML5先行者学习网

  $n -= $tn;e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

  $strcut = substr($string, 0, $n);e2CHTML5中文学习网 - HTML5先行者学习网

  $strcut = str_replace(array('∵', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), array(' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), $strcut);e2CHTML5中文学习网 - HTML5先行者学习网

  } else {e2CHTML5中文学习网 - HTML5先行者学习网

  $dotlen = strlen($dot);e2CHTML5中文学习网 - HTML5先行者学习网

  $maxi = $length - $dotlen - 1;e2CHTML5中文学习网 - HTML5先行者学习网

  $current_str = '';e2CHTML5中文学习网 - HTML5先行者学习网

  $search_arr = array('&',' ', '"', "'", '“', '”', '—', '<', '>', '·', '…','∵');e2CHTML5中文学习网 - HTML5先行者学习网

  $replace_arr = array('&',' ', '"', ''', '“', '”', '—', '<', '>', '·', '…',' ');e2CHTML5中文学习网 - HTML5先行者学习网

  $search_flip = array_flip($search_arr);e2CHTML5中文学习网 - HTML5先行者学习网

  for ($i = 0; $i < $maxi; $i++) {e2CHTML5中文学习网 - HTML5先行者学习网

  $current_str = ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];e2CHTML5中文学习网 - HTML5先行者学习网

  if (in_array($current_str, $search_arr)) {e2CHTML5中文学习网 - HTML5先行者学习网

  $key = $search_flip[$current_str];e2CHTML5中文学习网 - HTML5先行者学习网

  $current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str);e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

  $strcut .= $current_str;e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

  return $strcut.$dot;e2CHTML5中文学习网 - HTML5先行者学习网

  }e2CHTML5中文学习网 - HTML5先行者学习网

e2CHTML5中文学习网 - HTML5先行者学习网
e2CHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助