예제 #1
0
 public function testNameParse()
 {
     list($name, $aka) = CrawlDmmTask::parseNameAndAka('中野美奈');
     $this->assertEquals('中野美奈', $name);
     $this->assertEquals([], $aka);
     list($name, $aka) = CrawlDmmTask::parseNameAndAka('酒井ちなみ(紫葵)');
     $this->assertEquals('酒井ちなみ', $name);
     $this->assertEquals(['紫葵'], $aka);
     list($name, $aka) = CrawlDmmTask::parseNameAndAka('黒木麻衣(花野真衣、SHIHO)');
     $this->assertEquals('黒木麻衣', $name);
     $this->assertEquals(['花野真衣', 'SHIHO'], $aka);
 }
예제 #2
0
 private function getCasts(Crawler $links)
 {
     $staffs = [];
     $links->each(function (Crawler $link, $i) use(&$staffs) {
         if (!preg_match('/id=(\\d+)/', $link->attr('href'), $matches)) {
             return;
         }
         $staff = new Staffs();
         list($name, $aka) = CrawlDmmTask::parseNameAndAka(trim($link->text()));
         $staff->name = $name;
         $staff->aka = $aka ? implode(',', $aka) : null;
         $staff->id = $matches[1];
         $staffs[] = $staff;
     });
     return $staffs;
 }