У меня есть следующие PHP регулярное выражение:PHP Regex, только получая обратно частичные результаты
@<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:
Любая помощь, объясняя, почему я только получаю назад некоторые результатов wou ld будем очень благодарны. Спасибо
Вы должны использовать анализатор html для разбора html. – jeroen
Да, я понял, что, возможно, есть более простые способы сделать это. Но я хотел потратить некоторое время на изучение регулярного выражения. Какой парсер вы бы порекомендовали? –
Вы можете использовать DOMDocument, если он установлен, это часть самого php. – jeroen