为什么我的脚本只将xml文件中的最后一个H2标签保存到数据库中?

时间:2017-03-21 12:53:02

标签: php xml laravel domdocument laravel-5.4

我试图将所有H2标签存储到我的数据库中。 我使用 Laravel 5.4 DomDocument

我如何检索h2标签:

$htag2 = $dom->getElementsByTagName('h2');

我的h2标签:

<h2> htag2-1 </h2>
<h2> htag2-2 </h2>
<h2> htag2-3 </h2>
<h2> htag2-4 </h2>

这是数据库中的输出:htag2-4。如您所见,它会跳过我的xml文件中的其他3个h2tags。

我试图使用for循环保存:

for ($i = 0; $i < $htag2->length; $i++) {
 $ts->h2_tag = $htag2->item($i)->nodeValue;
}

$ ts的声明:$ts = new Scan;

1 个答案:

答案 0 :(得分:1)

在您的代码中,您需要做的是收集某些数组中的所有元素,例如:

$h2Array = [];

for ($i = 0; $i < $htag2->length; $i++) {
    $h2Array[] = $htag2->item($i)->nodeValue;
}

然后对收集的项目进行操作。或者您可以在 for 语句中逐个插入它们。