makerに一致するテキストを探すように修正
This commit is contained in:
parent
ce3ef3cdff
commit
a958ccaa08
@ -27,16 +27,24 @@ class DLsiteResolver implements Resolver
|
||||
if ($res->getStatusCode() === 200) {
|
||||
$metadata = $this->ogpResolver->parse($res->getBody());
|
||||
|
||||
$dom = new \DOMDocument();
|
||||
@$dom->loadHTML(mb_convert_encoding($res->getBody(), 'HTML-ENTITIES', 'UTF-8'));
|
||||
$xpath = new \DOMXPath($dom);
|
||||
|
||||
// 抽出
|
||||
preg_match('~\[(.+)\] \| DLsite$~', $metadata->title, $match);
|
||||
$title = $xpath->query('//title')->item(0)->textContent;
|
||||
preg_match('~\[(.+)\] \| DLsite.+$~', $title, $match);
|
||||
$maker = $match[1];
|
||||
|
||||
// makerに一致するthのテキストを探す
|
||||
$makerHead = $xpath->query('//a[contains(text(), "'.$maker.'")]/ancestor::tr/th')->item(0)->textContent;
|
||||
|
||||
// 余分な文を消す
|
||||
$metadata->title = trim(preg_replace('~ \[.+\] \| DLsite$~', '', $metadata->title));
|
||||
$metadata->description = trim(preg_replace('~「DLsite.+」は同人誌・同人ゲーム・同人音声のダウンロードショップ。お気に入りの作品をすぐダウンロードできてすぐ楽しめる!毎日更新しているのであなたが探している作品にきっと出会えます。国内最大級の二次元総合ダウンロードショップ「DLsite」!$~', '', $metadata->description));
|
||||
|
||||
// 整形
|
||||
$metadata->description = 'サークル: ' . $maker . PHP_EOL . $metadata->description;
|
||||
$metadata->description = $makerHead.': ' . $maker . PHP_EOL . $metadata->description;
|
||||
$metadata->image = str_replace('img_sam.jpg', 'img_main.jpg', $metadata->image);
|
||||
|
||||
return $metadata;
|
||||
|
Loading…
Reference in New Issue
Block a user