複数の詳細な値を抽出するための正規表現 XML

WBOY
リリース: 2016-06-23 13:26:30
オリジナル
983 人が閲覧しました

1A0003|B 株指数|BGZS|16
1B0001|業種指数|GYZS|16
1B0002|景気指数|SYZS|16
1B0004|不動産指数|DCZS|16
1B0005|公開指数|GYZS|161B0006|総合指数|ZHZS| 16< /PY>

これは XML 値の一部です。どのようにすれば対応する値を抽出できますか?
たとえば、1A0003 と 1B0001 を配列に、
B 株指数と工業指数を配列に、
BGZS と GYZS を配列に入れます。

皆さん、ありがとうございます。
preg_match_all は 3 回使用する必要がありますか?
このような式はどうやって書くのですか?


ディスカッション(解決策)への返信

通常のキャプチャ機能を使用してください。


<?php $s = '<PY>1A0003|B股指数|BGZS|16</PY><PY>1B0001|工业指数|GYZS|16</PY><PY>1B0002|商业指数|SYZS|16</PY><PY>1B0004|地产指数|DCZS|16</PY><PY>1B0005|公用指数|GYZS|16</PY><PY>1B0006|综合指数|ZHZS|16</PY>';preg_match_all('/<PY>([^|]*)\|([^|]*)\|([^|]*)\|([^<]*)<\/PY>/', $s, $matches);print_r($matches[1]);print_r($matches[2]);print_r($matches[3]);print_r($matches[4]);
ログイン後にコピー


結果:
配列
(
[0] => 1A0003
[1] => 1B0001
[2] => 1B0002
[3] => 1B0004
[4] => 1B0005
[5] => 1B0006
)
配列
(
[0] => B株価指数
[1] => 産業指数
[2] => 景気指数
[3] => 実数不動産インデックス
[4] => 公開インデックス
[5] => 複合インデックス )
配列
(
[0] BGZS
[1] GYZS
[2 ] => SYZS [ 1] => 16
[2] => 16
[3] => 16
[4] => 16
[5] => 16
両方試してみました。方法は同じで、結果はすべて出力できます。ありがとうございます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート