-1

助けが必要。タグを使用して文字列を配列に分割する方法は?

入力:

<aa> test1 </aa> test2 <aa> test3 </aa> test4 ....

出力:

arr[0] = <aa> test1 </aa>;
arr[1] = test2;
arr[2] = <aa> test3 </aa>;
arr[3] = test4;

前もって感謝します!

4

2 に答える 2

0

これは爆発を使用して可能です

私は以前にこれに答えましたが、誰かがそのようにすることは不可能だと思ったので、反対票を投じました。まあ、可能です。独自の配列を作成する必要がありますが、最初に最初に行います。

まず、あなたが言及したこの文字列があります。

$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);
}

出力は同じです。

これは最良のアプローチではないかもしれませんが、うまくいきます。

于 2013-04-26T02:11:53.650 に答える