说明
string substr ( string
$string
, int$start
[, int$length
] )返回字符串
string
由start
和length
参数指定的子字符串。string mb_substr ( string
$str
, int$start
[, int$length
[, string$encoding
]] )根据字符数执行一个多字节安全的 substr() 操作。 位置是从
str
的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。区别
substr的int是根据字符串的字节数寻找索引下标而mb_substr是根据字符串的字符数量寻找索引下标
参数
string
输入字符串。
start
如果
start
是非负数,返回的字符串将从string
的start
位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。如果
start
是负数,返回的字符串将从string
结尾处向前数第start
个字符开始。如果
string
的长度小于或等于start
,将返回FALSE
。
length
如果提供了正数的
length
,返回的字符串将从start
处开始最多包括length
个字符(取决于string
的长度)。如果提供了负数的
length
,那么string
末尾处的许多字符将会被漏掉(若start
是负数则从字符串尾部算起)。如果start
不在这段文本中,那么将返回一个空字符串。如果提供了值为 0,
FALSE
或NULL
的length
,那么将返回一个空字符串。如果没有提供
length
,返回的子字符串将从start
位置开始直到字符串结尾。返回值
返回提取的子字符串, 或者在失败时返回
FALSE
。
<?php
header('concent-type:text/html;charset=utf-8');
$str='qwertyuioplkjhgfdsazxcvbnm0123456789';
$len=strlen($str);//获取字符串长度
$sjs='';
//(substr($str,$rand,1))第一个参数是需要进行筛选的字符串
// 第二个参数是进行筛选的起始位置,若第二个参数是负值,则从字符串的末端开始计算位置
// 第三个参数(1)是从起始位置开始获取的个数为1,若为负值(-2),则是截止到该位置(从字符串末端-2)结束
for($i=0;$i<4;$i++){
$rand=mt_rand(0,$len-1);//获取字符的总索引号,从中随机选取字符(0,35)
$sjs=$sjs.substr($str,$rand,1);
//在字符串中随机一个位置开始获取字符,获取的字符长度为1,赋值给一个空字符
//循环4次,给$sjs字符赋值4次,获取4位随机数
//每次赋值后$sjs的值都会加一个
}
echo $sjs;
<?php
$str='我校经济贸易学院与石家庄顺捷财税咨询有限公司签订校企合作协议';
$slen=mb_strlen($str,'utf8');
if($slen<=10){
echo $str;
}else{
echo mb_substr($str,0,10).'...';
}