Php 使用简单的HTMLDOM处理HTML数据
我有一些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看起来是这样的(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";
}