0

私は文字列を持っています:

$text =array();
$text[0] = "Microsoft Windows Phone 7.5 Mango";
$text[1] = "Microsoft Windows Phone 7";


for($i=0; $i<2; $i++){
    preg_match_all('/(Microsoft Windows)<\/i>\s*(.*)/', $text[$i], $value) ;
    print_r($value);
}

print_r($value) の結果が array() array() の場合、どうすれば修正できますか?

4

2 に答える 2

4

<\/i>入力文字列に表示されない終了 HTML タグを削除します。

于 2012-06-12T04:38:56.340 に答える
0

@Sarkeが述べたように実行して、<\/i>. ただし、このコードがこのタグを含む文字列を解析する必要がある場合は、式でそれを無視します。

preg_match_all('/(Microsoft Windows)(<\/i>)?\s*(.*)/', $text[$i], $value) ;

また、配列の長さをハードコーディングする代わりに、次のcount()ように を使用することをお勧めします。

for($i=0; $i<count($text); $i++) {

$textこのようにして、配列内の項目の数が変更された場合、コードはより将来的に保証されます。

于 2012-06-12T04:48:13.230 に答える