Метод outerHtml
Метод outerHtml класса Crawler возвращает
внешний HTML текущего узла. В отличие от метода
html,
который возвращает только внутреннее содержимое,
outerHtml включает в результат сам тег элемента
вместе со всеми его атрибутами. Метод не принимает
параметров и возвращает строку.
Синтаксис
$res = $crawler->outerHtml();
Пример
Давайте получим внешний HTML элемента из документа:
<?php
use SymfonyComponentDomCrawlerCrawler;
$html = '<div class="block"><p>hello</p></div>';
$crawler = new Crawler($html);
$node = $crawler->filter('p');
$res = $node->outerHtml();
echo $res;
?>
Результат выполнения кода:
<p>hello</p>
Пример
Давайте сравним outerHtml и html для одного и того же узла:
<?php
use SymfonyComponentDomCrawlerCrawler;
$html = '<div class="block"><p>hello</p></div>';
$crawler = new Crawler($html);
$node = $crawler->filter('p');
$outer = $node->outerHtml();
$inner = $node->html();
echo $outer;
echo "<br>";
echo $inner;
?>
Результат выполнения кода:
<p>hello</p><br>hello
Пример
Давайте получим внешний HTML элемента с атрибутами:
<?php
use SymfonyComponentDomCrawlerCrawler;
$html = '<a href="/user" class="link">user</a>';
$crawler = new Crawler($html);
$node = $crawler->filter('a');
$res = $node->outerHtml();
echo $res;
?>
Результат выполнения кода:
<a href="/user" class="link">user</a>