0
[div="desc"][1="text1"][2="text2"][3="link3"][/div]

そして、それは 6 の制限まで続く可能性があります。「desc」、数字、およびテキストを抽出する正規表現を作成するにはどうすればよいでしょうか? PHP配列で試しましたが、できませんでした。

ありがとうございました!

4

1 に答える 1

2

ここには再帰はありません - 少なくともあなたの例はそれを示していません。一般的なケースで再帰があることが判明した場合、正規表現は機能しません。パーサーを使用する必要があります。

この場合、最初に /[([^]]+)]/ のような正規表現で preg_match_all を使用することをお勧めします。matchesこの関数に配列を渡す場合、preg_match_all の実行後matches[1]、文字列 '[div="desc"]'、'[1="text1"]' などを含む配列になるはずです。この配列を取得したら、次のことができます。を使用してそれをループしforeach、各文字列を分割して=から、解析した文字列の2つの部分で好きなことをします。

于 2012-05-13T15:44:22.933 に答える