急!!!求助!如何在一段文字中随机选取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'); 如何限制验证码只可使用一次 怎么用PHP实现一个java的interface 有关图文混排的问题? 灰常急用!!!php_imagick.dll扩展在windows下如何自己编译生成 有关ip地址的函数,返回值老是空的 PHP在给新闻组发信息的时候出现问题了!!帮帮我,,, php 5.0.3 记得曾有这么一个网址收藏夹,采用树形结构,php+mysql的。有人记得这个叫什么名字吗? 98/NT 文件上传目录的设定问题@_@~~ PHP OOP 私有属性赋值困惑 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');