Php 使用简单的HTMLDOM处理HTML数据

Php 使用简单的HTMLDOM处理HTML数据,php,web-scraping,simple-html-dom,Php,Web Scraping,Simple Html Dom,我有一些HTML,我正试图插入到一个数据库,但它被证明比我想象的更难 HTML看起来是这样的(id值是静态的,每个问题都有id78questionRegion作为id): 弗雷家族是哪个家族的旗手? 徒利家族 还有PHP <?php $type = ''; require ($_SERVER["DOCUMENT_ROOT"] . '/inc/db.php'); require($_SERVER["DOCUMENT_ROOT"] . '/admin/simple_html_do

我有一些HTML,我正试图插入到一个数据库,但它被证明比我想象的更难


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


弗雷家族是哪个家族的旗手?
徒利家族
还有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);
 }
 ?>

我想有一个问题,每一个可能的答案在一个变量,以及正确的答案,但我不知道如何得到正确的答案。感谢您的帮助

谢谢。

你试过这个吗

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";
}
foreach($html->find('.fullquestion')作为$fq){
echo的问题是:
; $question=$fq->find('.question'); echo$question->innertext.“
\n”; echo“可能的答案是:”; foreach($fq->find('span')作为$a){ echo$a->innertext.“
\n”; } echo“正确答案是:”; $answer=$fq->find('.answer'); echo$answer->innertext。“

\n”; }
此页上有100个问题吗?这就是为什么你有柜台?每个问题都是5个答案的多选题吗?是的。在2和5之间没有可能的答案。半小时后我会调查你的答案。非常感谢。id值是静态的,每个问题都有id78questionRegion作为一个变量。我们的代码为每个问题输出所有可能的答案。如果所有问题都有相同的id,则这是无效的DOM,但无论如何,我正在为您制定解决方案。等一下,这基本上是我的密码,我不明白。。。可能的答案是好的。问答将返回一个数组,但我应该能够自己解决这个问题。感谢$answer=$fq->find('.answer',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";
}