PHP preg_match_all с Curl - PullRequest
       18

PHP preg_match_all с Curl

0 голосов
/ 18 февраля 2012

У меня есть PHP-скрипт, который отправляет запрос curl на market.android.com/mylibrary и получает страницу, а затем анализирует ее с помощью регулярных выражений.В первой ссылке ниже вы можете увидеть, что при запуске он выдаст «Что-то пошло не так, что-то пошло не так», что соответствует каждому тесту регулярных выражений внизу.Теперь, если вы прокомментируете строку 74 и удалите комментарий 75, это сработает.Если вы хотите увидеть, что возвращает локон, просто добавьте echo($result); внизу.

Не забудьте заполнить свои кредиты Google вверху и включить скручивание на своем веб-сервере -> Примерfile 1

Теперь во втором примере я взял только соответствующие части из результатов скручивания и вручную избежал всех апострофов.Я поместил те же строки регулярных выражений внизу, и они работают точно так, как и ожидалось.

Файл примера 2

Кто-нибудь может увидеть, что является причиной проблемы?Я пытался использовать preg_last_error (), но он просто возвращает 0.Спасибо!

1 Ответ

0 голосов
/ 18 февраля 2012

Я получил это работает благодаря подсказкам, приведенным в комментариях.Вот решение:

$doc = new DOMDocument();
@$doc->loadHTML($result);
$images = $doc->getElementsByTagName('img');

$apps = array();

foreach($images as $img) {
    $alt = $img->getAttribute('alt');
    if($alt != '') {
        $src = $img->getAttribute('src');
        if(strpos($src, 'data:image/gif;base64') !== false) {
            $src = $img->getAttribute('data-lazysrc');
        }
        $apps[$alt] = $src;
    }
}

return $apps;
...