[英]Creating DOMDocument: match one certain element in a PHP-parser
晚上好,亲爱的社区,
好吧,首先:Felize Navidad-我希望你圣诞快乐! 在我的淡季中,我正在研究一些解析器脚本。
今天,我正在尝试在php中调试一个DOMDocument对象。 理想情况下,如果我能使DOMDocument以类似数组的格式输出,将数据存储在数据库中,那就太好了!
我的示例: 转到url-参见示例:目标
我想过滤出块中的数据:
Schulart: BBS
Schulnummer:60119
Anschrift: Berufsbildende Schule Boppard Antoniusstr. 21; 56154 Boppard
Telefon: (0 67 42) 80 61-0
Telefax: (0 67 42) 80 61-29
E-Mail: sekretary@bbs-boppard.de
Internet: website
Träger:Kreisverwaltung Rhein-Hunsr�ck-Kreis
letzte Änderung: 08 Feb 2010 14:33:12 von 60119
我已经研究了源代码-并发现感兴趣的属性应该是这样的: class="content"div class="content"><!-- TYPO3SEARCH_begin -->
甚至更好: wfqbeResults
因此,如果我运行DOMDucument方式,可以这样使用:
$dom->getElementById('wfqbeResults');
这里的代码是:-我的足迹
<?php
$dom = new DOMDocument();
@$dom->loadHTMLFile(' -> here the website goes in<- ');
$divElement = $dom->getElementById('wfqbeResults');
$innerHTML= '';
$children = $divElement->childNodes;
foreach ($children as $child) {
$innerHTML .= $child->ownerDocument->saveXML( $child );
}
echo $innerHTML;
<?
Duhh:这会输出大量垃圾。 无论如何,该代码会吐出很多html。 我必须仔细检查一下代码,才能从解析器中获得所需的9行:
目标是什么:我想了解以下内容:
一种。 9行带有9个标签和9个值。 b。 我想准备输出以将其存储在MySQL-DB中!
期待一些提示零问候
这是返回格式化数组中的标签和值以准备输入mysql的解决方案!
<?php
$dom = new DOMDocument();
@$dom->loadHTMLFile('http://schulen.bildung-rp.de/gehezu/startseite/einzelanzeige.html?tx_wfqbe_pi1%5buid%5d=60119');
$divElement = $dom->getElementById('wfqbeResults');
$innerHTML= '';
$children = $divElement->childNodes;
foreach ($children as $child) {
$innerHTML = $child->ownerDocument->saveXML( $child );
$doc = new DOMDocument();
$doc->loadHTML($innerHTML);
//$divElementNew = $dom->getElementsByTagName('td');
$divElementNew = $dom->getElementsByTagname('td');
/*** the array to return ***/
$out = array();
foreach ($divElementNew as $item)
{
/*** add node value to the out array ***/
$out[] = $item->nodeValue;
}
echo '<pre>';
print_r($out);
echo '</pre>';
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.