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

@@ 535-562 (lines=28) @@
532
   *
533
   * @return SimpleHtmlDomNode|SimpleHtmlDom[]|SimpleHtmlDom|SimpleHtmlDomNodeBlank
534
   */
535
  public function getElementsByTagName(string $name, $idx = null) {
536
    $nodesList = $this->document->getElementsByTagName($name);
537
538
    $elements = new SimpleHtmlDomNode();
539
540
    foreach ($nodesList as $node) {
541
      $elements[] = new SimpleHtmlDom($node);
542
    }
543
544
    // return all elements
545
    if (null === $idx) {
546
      return $elements;
547
    }
548
549
    // handle negative values
550
    if ($idx < 0) {
551
      $idx = \count($elements) + $idx;
552
    }
553
554
    // return one element
555
    if (isset($elements[$idx])) {
556
      return $elements[$idx];
557
    }
558
559
    // return a blank-element
560
    return new SimpleHtmlDomNodeBlank();
561
  }
562
563
  /**
564
   * Find one node with a CSS selector.
565
   *