加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php 截断字符串函数入门实例

发布时间:2020-05-25 05:12:40 所属栏目:PHP 来源:互联网
导读:php 截断字符串函数入门实例

对php 截断字符串函数感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编两巴掌来看看吧!


/**
 * php 截断字符串函数
 *
 * @param 
 * @arrange 网: jb51.cc
 **/
function htmlencode($string) {
 if(is_array($string)) {
  foreach($string as $key => $val) {
   $string[$key] = htmlencode($val);
  }
 } else {
  $string = preg_replace('/&amp;((#(d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/','&1',str_replace(array('&','"','<','>'),array('&amp;','&quot;','&lt;','&gt;'),$string));
 }
 return $string;
}
function cutStr($string,$length = 0,$dot = '') {
 $string = strip_tags($string);
 $string = trim($string);
 $string = str_replace(array('&amp;',array('&',$string);
 $strlen = strlen(phpcharset($string,'GBK'));
 $charset = mb_detect_encoding($string,array('ASCII','UTF-8','GBK','GB2312','BIG5'));
 if($length && ($strlen > $length)) {
  $wordscut = '';
  if(strtolower($charset) == 'utf-8') {
   $n = 0;
   $tn = 0;
   $noc = 0;
   while($n < strlen($string)) {
	$t = ord($string[$n]);
	if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
	 $tn = 1;
	 $n++;
	 $noc++;
	} elseif(194 <= $t && $t <= 223) {
	 $tn = 2;
	 $n += 2;
	 $noc += 2;
	} elseif(224 <= $t && $t < 239) {
	 $tn = 3;
	 $n += 3;
	 $noc += 2;
	} elseif(240 <= $t && $t <= 247) {
	 $tn = 4;
	 $n += 4;
	 $noc += 2;
	} elseif(248 <= $t && $t <= 251) {
	 $tn = 5;
	 $n += 5;
	 $noc += 2;
	} elseif($t == 252 || $t == 253) {
	 $tn = 6;
	 $n += 6;
	 $noc += 2;
	} else {
	 $n++;
	}
	if($noc >= $length) {
	 break;
	}
   }
   if($noc > $length) {
	$n -= $tn;
   }
   $wordscut = substr($string,$n);
  } else {
   for($i = 0; $i < $length - 1; $i++) {
	if(ord($string[$i]) > 127) {
	 $wordscut .= $string[$i].$string[$i + 1];
	 $i++;
	} else {
	 $wordscut .= $string[$i];
	}
   }
  }
  $wordscut .= $dot;
  $string = $wordscut;
 }
 return htmlencode($string);
}
/***   来自脚本之家 jb51.cc(jb51.cc)   ***/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读