Archived
1
0
Fork 0

AXMA parser

This commit is contained in:
Alexander Yakovlev 2018-03-27 23:48:07 +07:00
parent ffb52d4105
commit 2850cff90b

View file

@ -48,4 +48,34 @@ class Hyperbook extends Source {
$this->output .= $game->print();
}
}
public function checkPage($url) {
return (strpos($url,$this->rootUrl.'/comments.php') !== FALSE);
}
public function page($url) {
$text = $this->get_text($url);
$this->loadStr($text);
$game = new Game;
$game->url = $url;
$game->platform = 'AXMA Story Maker';
$game->title = $this->dom->filter(".content h1")->first()->text();
$game->title = trim(str_replace($this->dom->filter("h1 span")->first()->text(), '', $game->title));
$game->author = $this->dom->filter(".content > div")->reduce(function($node) {
if ($node->attr('style') === 'float: left; width: 50%; margin-bottom:14px; text-align: left;') {
return true;
}
return false;
})->first()->text();
$game->date = $this->dom->filter(".content div.small")->reduce(function($node) {
if ($node->attr('style') === 'float: left; width: 20%; text-align:right;')
return true;
return false;
})->first()->text();
$game->description = $this->dom->filter(".content div.small")->reduce(function($node) {
if ($node->attr('style') === NULL)
return true;
return false;
})->first()->text();
$game->date = \DateTime::createFromFormat('d.m.y', $game->date);
return $game;
}
}