最近我们的托管禁用了allow_url_fopen,似乎simplehtmldom需要它打开我在这个站点中看到了一个带有allow_url_fopen的工作单元simplehtmldom.sourceforge.net ... aq.htm#hosting,“使用curl获取页面,然后调用“str_get_dom”创建DOM对象“。但仍然没有运气。你能告诉我,如果我做得好还是我错过了什么?
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'www.weather.bm/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
$str = curl_exec($curl);
curl_close($curl);
$html= str_get_html($str);
?>
<?php
$element = $html->find("div");
$element[66]->class = "mwraping66";
foreach($html->find('.mwraping66 img') as $e)
$doc = phpQuery::newDocumentHTML( $e ); $containers = pq('.mwraping66', $doc);
foreach ( $containers as $container ) { $div = pq('img', $container);
$div->eq(1)->removeAttr('style')->addClass('thumbnail')->html( pq( 'img', $div->eq(1))- >removeAttr('height')->removeAttr('width')->removeAttr('alt') );
} print $doc;
?>
<?php
$element = $html->find("div");
$element[31]->class = "mwraping31";
foreach($html->find('.mwraping31') as $e)
echo $e->plaintext;
?>.................................
与之相比:
<?php
include('simple_html_dom.php');
include ('phpQuery.php');
// Create DOM from URL
$html = file_get_html('www.weather.bm/');
?>
<?php
$element = $html->find("div");
$element[66]->class = "mwraping66";
foreach($html->find('.mwraping66 img') as $e).....
感谢您的帮助
答案 0 :(得分:1)
我知道现在回答这个问题为时已晚,但我在这个论坛中找到了类似的问题和答案..这是Using simple html dom的链接..我不确定这是否会回答你的问题,因为我也是dom .try的新手,使用这个修改过的simple_html_dom.php文件http://webarto.com/82/php-simple-html-dom-curl它使用curl而不是file_get_content;这个文件对我有用,它的用法也和原来的simple_html_dom.php
一样