@@ 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. |
@@ 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. |