0

次のPHP正規表現があります。

@<tr[\s\S]*?<a class="b1"[\s\S]*?<em[^>]*>([^<]*)[\s\S]*?stars_small_([0-9].[0-9])@

このサイトで使用しているもの:

ゲームスパイ

私はこのデータを返します:

[1] => Array
        (
            [0] => AC/DC Live: Rock Band Track Pack
            [1] => Ace Combat 6: Fires of Liberation
            [2] => All-Pro Football 2K8
            [3] => Alone in the Dark
            [4] => Armored Core 4
            [5] => Army of Two
            [6] => Army of Two: The 40th Day
        )

    [2] => Array
        (
            [0] => 3.5
            [1] => 2.5
            [2] => 3.5
            [3] => 3.5
            [4] => 2.5
            [5] => 3.5
            [6] => 3.5
        )

これは私が探しているものですが、すべてのデータを取り戻しているようには見えません。次のタイトルをスコアで取得する必要があります。しかし、何らかの理由で、私はそれらの一部しか取得していません。

AC/DC Live: Rock Band Track Pack     
Ace Combat 6: Fires of Liberation    
Afro Samurai         
Alan Wake    
Aliens vs. Predator  
All-Pro Football 2K8    
Alone in the Dark   
Amped 3     
Armored Core 4  
Army of Two 
Army of Two: The 40th Day   
Assassin's Creed     
Assassin's Creed II  
Assassin's Creed: Brotherhood    
Avatar: The Game

ここで正規表現をテストしました:

http://www.solmetra.com/scripts/regex/index.php

この HTML の使用:

http://justpaste.it/20u5

結果の一部しか返されない理由を説明する助けをいただければ幸いです。ありがとう

4

1 に答える 1

1

一部の URL ではタグの属性に1 桁しかないため、サブパターンstars_small_([0-9].[0-9])を に変更します。stars_small_([0-9](?:\.[0-9])?)SRCIMG

于 2013-02-19T20:43:48.487 に答える