我有两个访问库simple_html_dom.php
第一个,caridefine.php
有这个:
include('simple_html_dom.php');
$url = 'http://www.statistics.com/index.php?page=glossary&term_id=209';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
libxml_use_internal_errors(true);
$dom = new DomDocument();
$dom->loadHtml($curl_scraped_page);
$xpath = new DomXPath($dom);
print $xpath->evaluate('string(//p[preceding::b]/text())');
第二个,caridefine2.php
有这个:
include('simple_html_dom.php');
$url = 'http://www.statsoft.com//textbook/statistics-glossary/z/?button=0#Z Distribution (Standard Normal)';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
$html = new simple_html_dom();
$html->load($curl_scraped_page);
foreach ($html->find('/p/a [size="4"]') as $font) {
$link = $font->parent();
$paragraph = $link->parent();
$text = str_replace($link->plaintext, '', $paragraph->plaintext);
echo $text;
}
另外,他们每个人都运作良好,我运行caridefine.php
,它运作良好,caridefine2.php
也是如此。
但是当我尝试在其他PHP文件中加载这两个文件时:
<div class="examples">
<?php
$this->load->view('definer/caridefine.php');
?>
</div>
<div class="examples">
<?php
$this->load->view('definer/caridefine2.php');
?>
</div>
他们都没有奏效。刚给我一个空白页面,当我按下CTRL+U
时,它说:Cannot redeclare file_get_html() (previously declared in C:\xampp\htdocs\MSPN\APPLICATION\views\Definer\simple_html_dom.php:70) in C:\xampp\htdocs\MSPN\APPLICATION\views\Definer\simple_html_dom.php on line 85
我用谷歌搜索了这个问题,我发现“如果加载许多物体而不清除以前的物体,那可能是个问题。”
我尝试过$html->clear()
和unset($dom)
。它什么都没给我。
是什么让我喜欢在最后一行?
谢谢..
答案 0 :(得分:0)
我试过分析我自己的问题: 这是更正:
将每个文件中的include('simple_html_dom.php');
更改为:require_once('simple_html_dom.php');
发生的事情是文件simple_html_dom.php
两次。所以它不会起作用。
应该这样做。