Code Duplication    Length = 28-28 lines in 2 locations

src/voku/helper/HtmlDomParser.php 1 location

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

src/voku/helper/SimpleHtmlDom.php 1 location

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