> 백엔드 개발 > PHP 튜토리얼 > 修改一段代码,高手指教了

修改一段代码,高手指教了

WBOY
풀어 주다: 2016-06-23 14:38:17
원래의
885명이 탐색했습니다.

$char = "<div>11111</div><div>22222</div><div>33333</div>";preg_match_all("|<div>(.*)</div>|U", $char, $out,PREG_PATTERN_ORDER);echo $out[0][0];echo $out[0][1];echo $out[0][2];
로그인 후 복사



上面这段代码可以获取字符串之间的值,但我要的效果是

我不知道字符串里有多少个
nnnnn
,我想获取所有div之间的所有值并且随机打乱顺序
比如字符串"
11111
22222
33333
44444
";
我想得到的结果是:
22222
44444
33333
11111



麻烦知道的高手直接给完整代码,谢谢了


回复讨论(解决方案)

补充:div之间有中文字符

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

$char = "

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

谢谢楼上的两位大哥,这是一个循环
那怎么把这个值重新放到字符串里
比如$char1 = ''

代码应当怎么写,小弟不怎么懂php的,再麻烦下,谢谢了

$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;
로그인 후 복사




用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;
로그인 후 복사

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿