$xml="
<root>
<Space>
<Id>2075028953</Id>
<Depth>2</Depth>
<Title>コンテスト</Title>
</Space>
<Category>
<Count>2</Count>
<Item>
<Id>2075028959</Id>
<Title>グルメ、ドリンク</Title>
</Item>
<Item>
<Id>2075028966</Id>
<Title>音楽</Title>
</Item>
</Category>
<Site>
<Item>
<Id>2078063954</Id>
<Title>建築</Title>
</Item>
</Site>
</root>
";
のようなXMLで、preg_match_allで<Item>要素ごとに取得しようと以下の関数で試みたのですが
取得できるものと出来ないものが存在します。
例えば<Item></Item>で囲まれているものが19個あったとすると4個しか配列関数に入っていません。
考えられる理由は何があるのでしょうか?
preg_match_all("'<Item>(.*?)</Item>'", $xml, $val);
説明がうまく出来ないのですが
分かって頂ける方がいましたら
宜しくお願いします。
http://sandman.s6.xrea.com/nucleus/item-62.html
"/パターン/g" //複数行を調べる
"/パターン/s" //改行文字を無視し、1行とみなして調べる
改行に対する対応が必要なのかもしれませんね。
ご指摘通り改行が原因だったみたいです。
2012/11/27 23:08:46おかげで思った通りに出来ました。
本当に有難う御座います。
また、機会がありましたら宜しくお願いします。