Code Duplication    Length = 28-28 lines in 2 locations

src/voku/helper/HtmlDomParser.php 1 location

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

src/voku/helper/SimpleHtmlDom.php 1 location

@@ 324-351 (lines=28) @@
321
   *
322
   * @return SimpleHtmlDomNode|SimpleHtmlDomNode[]|SimpleHtmlDomNodeBlank
323
   */
324
  public function getElementsByTagName($name, $idx = null)
325
  {
326
    $nodesList = $this->node->getElementsByTagName($name);
327
328
    $elements = new SimpleHtmlDomNode();
329
330
    foreach ($nodesList as $node) {
331
      $elements[] = new self($node);
332
    }
333
334
    // return all elements
335
    if (null === $idx) {
336
      return $elements;
337
    }
338
339
    // handle negative values
340
    if ($idx < 0) {
341
      $idx = count($elements) + $idx;
342
    }
343
344
    // return one element
345
    if (isset($elements[$idx])) {
346
      return $elements[$idx];
347
    }
348
349
    // return a blank-element
350
    return new SimpleHtmlDomNodeBlank();
351
  }
352
353
  /**
354
   * Create a new "HtmlDomParser"-object from the current context.