$elements = $xpath->query( '//body/div/* | //body/div/text()' );
foreach( $elements as $element ) {
// как здесь проверить, текстовый текущий узел или нет?
if( $element->nodeType == 3 ) {
// текстовая нода
$tmp = trim($element->c14n());
// убираем пустые ноды
if(! empty($tmp)) {
echo "<p>" . $tmp . "</p>", PHP_EOL;
}
}
// для всех остальных (не текстовых узлов)
else {
echo $element->C14N(), PHP_EOL;
}
}
// получаю всех прямых потомков у тега div
$elements = $xpath->query( '//body/div/* | //body/div/text()' );
foreach( $elements as $element ) {
// как здесь проверить, текстовый текущий узел или нет?
if( $element->nodeType == 3 ) {
// текстовая нода
// отсечение пустых нод добавишь сам, если нужно
echo "<p>" . trim($element->C14N()) . "</p>", PHP_EOL;
}
// для всех остальных (не текстовых узлов)
else {
echo $element->C14N(), PHP_EOL;
}
}
$dom = (new DomDocument())->loadHTML( $content );
Почему не "a" и "b"?потому что есть такое понятие как контекст вызова.
И что сделать чтобы выводились "a" и "b", но чтобы при этом методы оставались приватными?
class B extends A {
private function foo() {
echo "b";
}
public function test() {
$this->foo();
}
}
SELECT
*
FROM
`dle_post`
JOIN
`dle_post_extras` ON `dle_post_extras`.id = `dle_post`.id