2013-07-09 38 views
0

我有一些HTML试图插入到数据库中,但它比我想象的要困难得多。使用简单的HTML DOM操作HTML数据

的HTML看起来像(id的值是静态的,每一个问题都有id78questionRegion作为一个id):

<div class="fullquestion"> 
<div class='question'>House Frey are Bannermen sworn to which House?</div><div style=" visibility:visible; " id="id78questionRegion"> 


<a href="javascript:___gid_10(0)"><span>House Baratheon</span></a> 

<a href="javascript:___gid_10(1)"><span>House Tyrell</span></a> 

<a href="javascript:___gid_10(2)"><span>House Arryn</span></a> 

<a href="javascript:___gid_10(3)"><span>House Stark</span></a> 

<a href="javascript:___gid_10(4)"><span>House Tully</span></a> 

</div><div class='answer'>House Tully</div> 
</div> 

而且PHP

<?php 

$type = ''; 
require ($_SERVER["DOCUMENT_ROOT"] . '/inc/db.php'); 
require($_SERVER["DOCUMENT_ROOT"] . '/admin/simple_html_dom.php'); 

$file = 'qa.html'; 
$html = new simple_html_dom(); 
$html->load_file($file); 
$qcount = 100; 
for ($i = 0; $i <= $qcount; $i++) { 
    echo 'Question is:<br>'; 
    echo $html->find('.question', $i); 
    echo 'Possible Answers are:<br>'; 
    foreach ($html->find('#id78questionRegion a span', $i) as $question) { 
    echo $html->find('#id78questionRegion a span'); 
    } 

    echo 'Answer is:<br>'; 
    echo $html->find('.answer', $i); 
} 
?> 

我想有有问题,每个可能的答案在一个变种以及正确的答案,但我无法弄清楚如何正确地得到答案。任何帮助感谢!

谢谢。

+0

这个页面有100个问题吗?这就是你有柜台的原因吗?每个问题都是5个答案的多重选择? – DevlshOne

+0

是的。 2到5之间没有可能的答案。我会在半小时内看看你的答案。谢谢! – Callombert

+0

id值是静态的,每个问题都有id78questionRegion作为id – Callombert

回答

0

你试过吗?

foreach ($html->find('.fullquestion') as $fq) { 
    echo 'Question is: <br />'; 
    $question = $fq->find('.question'); 
    echo $question->innertext . '<br />\n'; 
    echo 'Possible answers are: <br \>'; 
    foreach ($fq->find('span') as $a) { 
    echo $a->innertext . '<br />\n'; 
    } 
    echo 'Correct answer is: <br \>'; 
    $answer = $fq->find('.answer'); 
    echo $answer->innertext . "<br /><br />\n"; 
} 
+0

这基本上是我的代码,我不明白它......可能的答案是好的。问题和答案是返回一个数组,但我应该能够自己想象这个。谢谢 – Callombert

+0

多一个编辑... – DevlshOne

+0

$ answer = $ fq-> find('。answer',0);做到了。再次感谢 – Callombert