Code Duplication    Length = 23-23 lines in 2 locations

src/voku/helper/HtmlDomParser.php 1 location

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

src/voku/helper/SimpleHtmlDom.php 1 location

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