1

PHP を使用して次のデータを解析できるようにしたいと考えています。

$string = "<![CDATA[<div><b>Color:</b> Blue</div>
<div><b>Number:</b> 5</div>
<div><b>Month:</b> January</div>]]>";

次のような配列に:

Array
(
    [Color] = Blue
    [Number] = 5
    [Month] = January
)

preg_match を使用して 間のデータを抽出しようとしましたが、一致するものはありませんでした。

preg_match_all("/\[CDATA\[(.*?)\]]/", $string, $result);

私はこの点を乗り越えることができません。どんな助けでも大歓迎です。

4

1 に答える 1

1
$result=array();
$arr = explode("\n", strip_tags(substr($string,9, strlen($string)-12)));
foreach($arr as $val){
    $tmp = explode(':',$val);
    $result[$tmp[0]] = $tmp[1];
}

(チェック、トリム、コード スタイルなどを自分で追加)

于 2012-04-12T22:30:07.433 に答える