Exemplo n.º 1
0
<?php

include "vendor/autoload.php";
use Goutte\Client;
use Symfony\Component\DomCrawler\Crawler;
if ($mock = false) {
    $crawler = new Crawler();
    $crawler->addHtmlContent(file_get_contents('example.html'));
} else {
    $client = new Client();
    $client->request('GET', 'http://habrahabr.ru/company/innopolis_university/blog/236647/');
    $crawler = $client->getCrawler();
}
$users = [];
$crawler->filter('.comment_body')->each(function (Crawler $node) use(&$users) {
    preg_match_all('/([a-f0-9]{32})/', $node->text(), $matches);
    if ($matches[1]) {
        $user = $node->filter('.username')->first()->text();
        foreach ($matches[1] as $md5) {
            $users[$user][] = $md5;
        }
    }
});
$answers = [];
for ($i = 0; $i <= 99; $i++) {
    $answer = str_pad($i, 2, '0', STR_PAD_LEFT);
    foreach ($users as $user => $md5List) {
        foreach ($md5List as $k => $md5) {
            if (md5($user . $answer) == $md5) {
                $answers[$answer][] = $user;
                unset($users[$user][$k]);