急!!!求助!如何在一段文字中随机选取3个字输出.... 如题用php,在一段文字中随机选取三个字输出。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $str ="afksdjfkljsdflkjsdaflsdjfksdjlfjsdfeoifjoweirhkdsfsdlfj"; $numbers = range(1,strlen($str)); shuffle($numbers); for($j=1;$j<4;$j++){ echo substr($str, $numbers[$j],1)."<br>"; } 是截取汉字时候的乱码问题吧。1.用mb_substr()这个函数,2.自己写一个在截取函数。 0xa0好像是汉字开始的标志。是汉字的话就多截一位 支持中文 function strLength($str,$charset='utf-8'){ if($charset=='utf-8') $str = iconv('utf-8','gb2312',$str); $num = strlen($str); $cnNum = 0; for($i=0;$i<$num;$i++){ if(ord(substr($str,$i+1,1))>127){ $cnNum++; $i++; } } $enNum = $num-($cnNum*2); $number = ($enNum/2)+$cnNum; return ceil($number); } $str ="中货人工国不有要为人发民经同"; for($t=0;$t<strLength($str,'utf-8');$t++){ $array[] = mb_substr($str,$t,1,'utf-8'); } $numbers = range(0,strLength($str,'utf-8')-1); shuffle($numbers); for($j=0;$j<3;$j++){ // $str=mb_substr($text,0,$k,'UTF-8'); echo mb_substr($str,$numbers[$j],1,'UTF-8')."<br>"; } $s = '运行到汉字就不可以了呀';$charset = mb_detect_encoding($s, array('utf-8', 'gbk'));$s = mb_convert_encoding($s, 'utf-8', $charset);preg_match_all('/./u', $s, $r);$r = $r[0];shuffle($r);$t = join('', array_slice($r, -3));echo mb_convert_encoding($t, $charset, 'utf-8'); php4升级到5后连接数据库(sqlserver2000)变慢 file_exists 不支持中文和日文路径 请教一个PHP分行问题! 无法加载mssql 如何把多条选上的复选框数据保存到数据库 在线等 PHP有没有办法获取变量的名称(不是数组中的数据) PHP的网站页面怎么存成HTML后就丢失图片呢??? copy的问题,不难,在线等!! WINDOW7 安装 pcntl_fork问题 请问一个PHP.INI的配置问题,谢谢! php怎样让直接通过打印机打印报表 php后台管理问题
$numbers = range(1,strlen($str));
shuffle($numbers);
for($j=1;$j<4;$j++){
echo substr($str, $numbers[$j],1)."<br>";
}
1.用mb_substr()这个函数,
2.自己写一个在截取函数。
0xa0好像是汉字开始的标志。是汉字的话就多截一位
function strLength($str,$charset='utf-8'){
if($charset=='utf-8') $str = iconv('utf-8','gb2312',$str);
$num = strlen($str);
$cnNum = 0;
for($i=0;$i<$num;$i++){
if(ord(substr($str,$i+1,1))>127){
$cnNum++;
$i++;
}
}
$enNum = $num-($cnNum*2);
$number = ($enNum/2)+$cnNum;
return ceil($number);
}
$str ="中货人工国不有要为人发民经同";
for($t=0;$t<strLength($str,'utf-8');$t++){
$array[] = mb_substr($str,$t,1,'utf-8');
}
$numbers = range(0,strLength($str,'utf-8')-1);
shuffle($numbers);
for($j=0;$j<3;$j++){
// $str=mb_substr($text,0,$k,'UTF-8');
echo mb_substr($str,$numbers[$j],1,'UTF-8')."<br>";
}
$charset = mb_detect_encoding($s, array('utf-8', 'gbk'));
$s = mb_convert_encoding($s, 'utf-8', $charset);preg_match_all('/./u', $s, $r);
$r = $r[0];
shuffle($r);
$t = join('', array_slice($r, -3));echo mb_convert_encoding($t, $charset, 'utf-8');