从页面上的每个嵌套 div 中剥离并获取文本内容
Strip and fetch text content from each nested div on a page
我从 URL 那里得到了一个 HTML。我想要实现的是只获取 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 来实现此目的,但不知何故,我对将其拆分并将其添加到数组感到困惑。任何可能有任何想法的人请帮助。
<?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 来获取元素。
我从 URL 那里得到了一个 HTML。我想要实现的是只获取 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 来实现此目的,但不知何故,我对将其拆分并将其添加到数组感到困惑。任何可能有任何想法的人请帮助。
<?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 来获取元素。