技术渣 2016-10-07
只适合英文的截取字符串,一个字节一个长度,一个中文字符长度是3。
<meta charset="UTF-8"> <?php $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; echo "原字符串:$str <br>"; //按各种方式进行截取 $str1 = substr($str,5); echo "从第5个字符开始取至最后:$str1 <br>"; $str2 = substr($str,9,4); echo "从第9个字符开始取4个字符:$str2 <br>"; $str3 = substr($str,-5); echo "取倒数5个字符:$str3"; $str4 = substr($str,-8,4); echo "从倒数第8个字符开始向后取4个字符:$str4 <br>"; $str5 = substr($str,-8,-2); echo "从倒数第8个字符开始取到倒数第2个字符为止:$str5 <br>"; ?>
效果图:
如果是中文,或中英混合,使用 mb_substr() 来截取。推荐使用。
<meta charset="UTF-8"> <?php //必须要加字符编码,否则截取会出问题 //mb_substr(),是不管中英文,一个字符一个长度,而不是一个字节一个长度 //例如:AB阅谁是四个字符,所以长度是4 $str ="阅谁问君诵,水落清香浮。"; echo mb_strlen($str,'utf-8')>10?mb_substr($str,0,8, 'utf-8').'..':$str; echo '<br>'; $str2 = "AB阅谁问君诵,水落清香浮。CDEFGHIJKLMNOPQRSTUVWXYZ"; echo mb_strlen($str2,'utf-8')>18?mb_substr($str2,0,16, 'utf-8').'..':$str2; ?>
效果图: