$char = "<div>11111</div><div>22222</div><div>33333</div>";
$ary = explode('<div>', $char);
shuffle($ary);
foreach($ary as $v)
{
echo '<div>'.$v;
}

解决方案 »

  1.   

    $char = "<div>11111</div><div>22222</div><div>33333</div>";
    $ary = explode('<div>', $char);
    shuffle($ary);
    foreach($ary as $v)
    {
    if($v!=""){
         echo '<div>'.$v;
    }
    }
    楼上的加个判断值不为空更好点,数组后面会多循环一次,后面会多带个<div>
      

  2.   

    谢谢楼上的两位大哥,这是一个循环
    那怎么把这个值重新放到字符串里
    比如$char1 = ''代码应当怎么写,小弟不怎么懂php的,再麻烦下,谢谢了
      

  3.   

    $char = "<div>11111</div><div>22222</div><div>33333</div>";
    preg_match_all("|<div>(.*)</div>|U", $char, $out,PREG_PATTERN_ORDER);shuffle($out[0]);
    $s= join('',$out[0]);
    echo $s;
      

  4.   

    靠用5楼的代码
    $char = "<div>11111</div><div>22222</div><div>33333</div>";
    preg_match_all("|<div>(.*)</div>|U", $char, $out,PREG_PATTERN_ORDER);shuffle($out[0]);
    $char= join('',$out[0]);
    echo $char;