Code Duplication    Length = 23-23 lines in 2 locations

src/voku/helper/SimpleHtmlDom.php 1 location

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

src/voku/helper/HtmlDomParser.php 1 location

@@ 583-605 (lines=23) @@
580
     *
581
     * @return SimpleHtmlDom|SimpleHtmlDom[]|SimpleHtmlDomNode|SimpleHtmlDomNodeBlank
582
     */
583
    public function getElementsByTagName(string $name, $idx = null)
584
    {
585
        $nodesList = $this->document->getElementsByTagName($name);
586
587
        $elements = new SimpleHtmlDomNode();
588
589
        foreach ($nodesList as $node) {
590
            $elements[] = new SimpleHtmlDom($node);
591
        }
592
593
        // return all elements
594
        if ($idx === null) {
595
            return $elements;
596
        }
597
598
        // handle negative values
599
        if ($idx < 0) {
600
            $idx = \count($elements) + $idx;
601
        }
602
603
        // return one element
604
        return $elements[$idx] ?? new SimpleHtmlDomNodeBlank();
605
    }
606
607
    /**
608
     * Find one node with a CSS selector.