@@ 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. |
@@ 606-628 (lines=23) @@ | ||
603 | * |
|
604 | * @return SimpleHtmlDom|SimpleHtmlDom[]|SimpleHtmlDomNode|SimpleHtmlDomNodeBlank |
|
605 | */ |
|
606 | public function getElementsByTagName(string $name, $idx = null) |
|
607 | { |
|
608 | $nodesList = $this->document->getElementsByTagName($name); |
|
609 | ||
610 | $elements = new SimpleHtmlDomNode(); |
|
611 | ||
612 | foreach ($nodesList as $node) { |
|
613 | $elements[] = new SimpleHtmlDom($node); |
|
614 | } |
|
615 | ||
616 | // return all elements |
|
617 | if ($idx === null) { |
|
618 | return $elements; |
|
619 | } |
|
620 | ||
621 | // handle negative values |
|
622 | if ($idx < 0) { |
|
623 | $idx = \count($elements) + $idx; |
|
624 | } |
|
625 | ||
626 | // return one element |
|
627 | return $elements[$idx] ?? new SimpleHtmlDomNodeBlank(); |
|
628 | } |
|
629 | ||
630 | /** |
|
631 | * Find one node with a CSS selector. |