Сохранить HTML из элемента в переменную простой HTML-анализатор DOM

Я хочу получить innerHtml от элемента, с простым парсером html dom.

Например:

$s = "      <div class="a">
                <p>I don't want this stuff</p>
                <div class="b">
                    <input type="button" value="testing">
                    <p>I want this stuff</p>
                </div>
            </div> ";

$html = str_get_content($s);
$ret = $html->find('div[class=b']);

Теперь... Я хочу инициализировать другой объект, но с помощью HTML из $ret.

Я пытался с $newSource = $ret[0]->save(), но это не работает. В их документации ничего не говорится о innerHtml или outerHtml, а только innerText.

3 ответа

Решение

В соответствии с документацией, существует способ избавиться от вашей семьи, может быть, он может быть использован как способ избавиться от вашей части.

echo $ret[0]; // this should return your dom fragment

если вы хотите другой объект и $object = $ret[0] это не то, что вы ищете, это может помочь:

$html = (string) $ret[0]; // convert to html
$newSource = str_get_content($html); // create new object
$ret[0]->innertext

даст вам внутренний HTML-элемент (даже если он называется текст, на самом деле это весь HTML)

Прошло много времени с тех пор, как я использовал класс, но вы пробовали echo $ret->plaintext;

Другие вопросы по тегам