我正在寻找解析大约100页的数据,所有这些都包含这个HTML字符串:
<span class="cell CellFullWidth"><span class="SectionHeader">EVENT</span><br/><div class="Center">Event Name</div></span>
我对解析器不太熟悉,所以我想知道我应该使用什么来从我遍历的每个页面中提取“事件名称”,以及我应该如何去做。
我查看了简单的HTML DOM,但我无法弄明白。 请帮忙,谢谢!
答案 0 :(得分:3)
假设:
这里是:
<?php
$content = '
<span class="cell CellFullWidth"><span class="SectionHeader">EVENT</span><br/><div class="Center">Event Name1</div></span>
<span class="cell CellFullWidth"><span class="SectionHeader">EVENT</span><br/><div class="Center">Event Name2</div></span>
';
$html = new DOMDocument();
$html->loadHTML($content);
$divs = $html->getElementsByTagName('div');
foreach($divs as $div) {
if($div->getAttribute('class') == 'Center') {
$events[] = $div->nodeValue;
}
}
print_r($events);
答案 1 :(得分:1)
如果事件名称以外的所有文本始终相同,则只能使用子字符串(因为起始位和结束位的长度始终相同)
$event_name = substr($current_line, 98, -14);
当你删除前98个字符和最后14个字符时,它会给你留下什么。
答案 2 :(得分:0)
您可以使用PHP's DOM manipulation functions。
基本上,您可以通过DOMDocument::loadHTML()或DOMDocument::loadHTMLFile()创建新的DOMDocument,然后使用$yourDOmObject->getElementsByTagName()获取所有<span>
元素。