Я пытаюсь получить цены с игры и амазонки для личного проекта, но у меня есть 2 проблемы. Во-первых, у меня есть игра для работы, но она выбирает неправильную цену, а во-вторых, amazon не получает никаких результатов.file_get_contents не получает правильные результаты
Вот код, который я пытался получить.
$playdotcom = file_get_contents('http://www.play.com/Search.html?searchstring=".$getdata[getlist_item]."&searchsource=0&searchtype=r2alldvd');
$amazoncouk = file_get_contents('http://www.amazon.co.uk/gp/search?search-alias=dvd&keywords=".$getdata[getlist_item]."');
preg_match('#<span class="price">(.*)</span>#', $playdotcom, $pmatch);
$newpricep = $pmatch[1];
preg_match('#used</a> from <strong>(.*)</strong>#', $playdotcom, $pmatch);
$usedpricep = $pmatch[1];
preg_match('#<span class="bld lrg red"> (.*)</span>#', $amazoncouk, $amatch);
$newpricea = $amatch[1];
preg_match('#<span class="price bld">(.*)</span> used#', $amazoncouk, $amatch);
$usedpricea = $amatch[1];
затем повторяют результаты:
echo "Play :: New: $newpricep - Used: $usedpricep";
echo "Amazon :: New: $newpricea - Used: $usedpricea";
Точно так же вы знаете, что происходит на
$getdata[getlist_item] = "American Pie 5: The Naked Mile";
который работает нормально.
Любая идея, почему они не работают правильно?
EDIT: Я только что понял, что $getdata[getlist_item]
в файле_get_contents не использует переменную, просто распечатывая переменную как есть ... почему она это делает ???
* Sidenote * [Dont использовать регулярное выражение для HTML разбора] (http://stackoverflow.com/ вопросы/1732348/regex-match-open-tags-except-xhtml-self-contains-tags), используйте соответствующий парсер, например [DOMDocument] (http://www.php.net/manual/en/class.domdocument. php) или такой инструмент, как [simplehtmldom] (http://simplehtmldom.sourceforge.net/) –
Возможный дубликат [Интерполяция (двойная кавычка) ассоциативных массивов в PHP] (http://stackoverflow.com/questions/4738850/interpolation-double-quoted-string-of-associative-arrays-in-php) –