ホームページ >バックエンド開発 >PHPチュートリアル >コードの一部を変更して専門家からアドバイスを得る

コードの一部を変更して専門家からアドバイスを得る

WBOY
WBOYオリジナル
2016-06-23 14:38:17902ブラウズ

$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];



上記のコードは文字列間の値を取得できますが、私が望む効果は

文字列に dc6dce4a544fdca2df29d5ac0ea9906bnnnnn16b28748ea4df4d9c2150843fecfba68 がいくつあるかわかりません。すべてを取得したいのです。 divs 間のすべての値とランダムにシャッフルされます
たとえば、文字列「dc6dce4a544fdca2df29d5ac0ea9906b1111116b28748ea4df4d9c2150843fecfba68dc6dce4a544fdca2df29d5ac0ea9906b2222216b28748ea4df4d9c2150843fecfba68dc6dce4a544fdca2df29d5ac0ea9906b3333316b28748ea4df4d9c2150843fecfba68dc6dce4a544fdca2df29d5ac0ea9906b44444
トラブルに詳しい専門家の方は、完全なコードを直接提供していただけますので、よろしくお願いします

ディスカッションへの返信 (解決策)

補足: 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 = "dc6dce4a544fdca2df29d5ac0ea9906b11111< /div>gt;

;22222
gt;
33333
"; $ary =explode('
', $char);

shuffle($ary);
foreach( $ary as $v)
{
if($v!=""){
echo 'dc6dce4a544fdca2df29d5ac0ea9906b'.$v;
}
}
値がそうでないことを示す判定値を追加した方がよい空の場合、配列はもう一度ループされ、後でさらに dc6dce4a544fdca2df29d5ac0ea9906b が発生します

上の 2 人の兄弟のおかげで、これはループです

次に、この値を文字列に戻す方法

たとえば、$ 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;

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。