Code Duplication    Length = 28-28 lines in 2 locations

src/voku/helper/SimpleHtmlDom.php 1 location

@@ 339-366 (lines=28) @@
336
   *
337
   * @return SimpleHtmlDomNode|SimpleHtmlDom[]|SimpleHtmlDom|SimpleHtmlDomNodeBlank
338
   */
339
  public function getElementsByTagName(string $name, $idx = null)
340
  {
341
    $nodesList = $this->node->getElementsByTagName($name);
342
343
    $elements = new SimpleHtmlDomNode();
344
345
    foreach ($nodesList as $node) {
346
      $elements[] = new self($node);
347
    }
348
349
    // return all elements
350
    if (null === $idx) {
351
      return $elements;
352
    }
353
354
    // handle negative values
355
    if ($idx < 0) {
356
      $idx = \count($elements) + $idx;
357
    }
358
359
    // return one element
360
    if (isset($elements[$idx])) {
361
      return $elements[$idx];
362
    }
363
364
    // return a blank-element
365
    return new SimpleHtmlDomNodeBlank();
366
  }
367
368
  /**
369
   * Create a new "HtmlDomParser"-object from the current context.

src/voku/helper/HtmlDomParser.php 1 location

@@ 549-576 (lines=28) @@
546
   *
547
   * @return SimpleHtmlDomNode|SimpleHtmlDom[]|SimpleHtmlDom|SimpleHtmlDomNodeBlank
548
   */
549
  public function getElementsByTagName(string $name, $idx = null)
550
  {
551
    $nodesList = $this->document->getElementsByTagName($name);
552
553
    $elements = new SimpleHtmlDomNode();
554
555
    foreach ($nodesList as $node) {
556
      $elements[] = new SimpleHtmlDom($node);
557
    }
558
559
    // return all elements
560
    if (null === $idx) {
561
      return $elements;
562
    }
563
564
    // handle negative values
565
    if ($idx < 0) {
566
      $idx = \count($elements) + $idx;
567
    }
568
569
    // return one element
570
    if (isset($elements[$idx])) {
571
      return $elements[$idx];
572
    }
573
574
    // return a blank-element
575
    return new SimpleHtmlDomNodeBlank();
576
  }
577
578
  /**
579
   * Find one node with a CSS selector.