助けが必要。タグを使用して文字列を配列に分割する方法は?
入力:
<aa> test1 </aa> test2 <aa> test3 </aa> test4 ....
出力:
arr[0] = <aa> test1 </aa>;
arr[1] = test2;
arr[2] = <aa> test3 </aa>;
arr[3] = test4;
前もって感謝します!
これは爆発を使用して可能です
私は以前にこれに答えましたが、誰かがそのようにすることは不可能だと思ったので、反対票を投じました。まあ、可能です。独自の配列を作成する必要がありますが、最初に最初に行います。
まず、あなたが言及したこの文字列があります。
$string = "<aa> test1 </aa> test2 <aa> test3 </aa> test4";
これで分解できます:
$e = explode(' ', $string);
そして、すべての分割を保持する配列 $e があり、次のような結果を得ることができます:
echo $e[0]. $e[1]. $e[2]. "<br>";
echo $e[3]. "<br>";
echo $e[4]. $e[5]. $e[6]. "<br>";
echo $e[7]. "<br>";
出力は次のとおりです。
<aa> test1 </aa>;
test2;
<aa> test3 </aa>;
test4;
しかし、これは非常に面倒で、理解できます。ただし、配列をウォークスルーして、必要に応じて単一の配列を構築できます。
$result = array();
for($i = 0; $i < sizeof($e) ; $i++)
{
if($i % 2 == 0)
{
$tempRes = $e[$i]. $e[$i+1]. $e[$i+2];
}
else
{
$tempRes = $e[$i+2];
$i+=2;
}
array_push($result, $tempRes);
}
出力は同じです。
これは最良のアプローチではないかもしれませんが、うまくいきます。