人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPについての質問です。

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


説明がうまく出来ないのですが
分かって頂ける方がいましたら
宜しくお願いします。

●質問者: black_kenchan
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● きゃづみぃ
●300ポイント ベストアンサー

http://sandman.s6.xrea.com/nucleus/item-62.html

"/パターン/g" //複数行を調べる
"/パターン/s" //改行文字を無視し、1行とみなして調べる


改行に対する対応が必要なのかもしれませんね。


black_kenchanさんのコメント
ご指摘通り改行が原因だったみたいです。 おかげで思った通りに出来ました。 本当に有難う御座います。 また、機会がありましたら宜しくお願いします。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ