Обрезать и извлечь текстовое содержимое из каждого вложенного div на странице

Я получил HTML с URL. Чего я хочу добиться, так это извлекать только текстовое содержимое внутри div. Любая идея, если это может быть достигнуто.
Структура будет похожа на эту

<div class="first">
<div class="second">
Some content inside second div
<div class="third">
Some more content inside third div
</div>
</div>
</div>

Когда я извлекаю контент, я хочу получить текстовый контент внутри массива примерно так

Array(
[first]=>
[second]=>Some content inside second div
[third]=>Some more content inside third div
);

Я пытаюсь добиться этого с помощью strip_tags, но почему-то я не понимаю, как разделить его и добавить в массив. Любой, кто может иметь какие-либо идеи, пожалуйста, помогите.

0

Решение

<?php
function clearArray($arr) {
if(is_array($arr)) {
foreach($arr as $element) {
$cont=trim($element); //make sure to have cr/lf parts removed (difference between line seperator)
if(!empty($cont)) {
$newArray[]=$cont;
}
}
return $newArray;
}
return false;
}
$content='<div class="first">
<div class="second">
Some content inside second div
<div class="third">
Some more content inside third div
</div>
</div>
</div>';
$strippedContent=strip_tags($content);
$content=explode("\n", $strippedContent);
$content=clearArray($content);
print_r($content);

Это выведет что:

Array ( [0] => Some content inside second div [1] => Some more content inside third div )

Если вы получаете эту информацию со сторонней страницы, я настоятельно рекомендую вам использовать DOMDocument и xpath для получения элементов.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector