Code Duplication    Length = 28-28 lines in 2 locations

src/voku/helper/HtmlDomParser.php 1 location

@@ 460-487 (lines=28) @@
457
   *
458
   * @return SimpleHtmlDomNode|SimpleHtmlDom[]|SimpleHtmlDom|SimpleHtmlDomNodeBlank
459
   */
460
  public function getElementsByTagName(string $name, $idx = null)
461
  {
462
    $nodesList = $this->document->getElementsByTagName($name);
463
464
    $elements = new SimpleHtmlDomNode();
465
466
    foreach ($nodesList as $node) {
467
      $elements[] = new SimpleHtmlDom($node);
468
    }
469
470
    // return all elements
471
    if (null === $idx) {
472
      return $elements;
473
    }
474
475
    // handle negative values
476
    if ($idx < 0) {
477
      $idx = \count($elements) + $idx;
478
    }
479
480
    // return one element
481
    if (isset($elements[$idx])) {
482
      return $elements[$idx];
483
    }
484
485
    // return a blank-element
486
    return new SimpleHtmlDomNodeBlank();
487
  }
488
489
  /**
490
   * Find one node with a CSS selector.

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.