解析在单词之间具有空格的关键字

时间:2013-08-11 17:00:46

标签: php

我正在从网站获取数据,当我解析单词“数学,化学,科学”等时,下面提到的脚本工作正常。但是,如果我尝试解析包含中间空格的关键字,如“商业数学“等浏览器只是永远加载它似乎不起作用。请指导我..

<?php
include("simple_html_dom.php");

$keywords = "business math,chemistry,science";
$keywords = explode(',', $keywords);

foreach($keywords as $keyword) {
    echo '<br><b><font color="red">Keyword: </font><font color="blue">'.$keyword.'</font></b><br>';

    $html = file_get_html('http://www.tutorvista.com/search/'.$keyword);

    $i = 1;
    foreach($html->find('div[style=padding:20px; border-top:thin solid #DDDDDD; border-bottom:none;]') as $element) {
        foreach($element->find('div[class=entry-abstract]') as $div) {
            $title[$i] = $div->plaintext.'<br><br>';
        }
        $i++;
    }
    print_r($title);
}
?>

1 个答案:

答案 0 :(得分:0)

问题在于:

$html = file_get_html('http://www.tutorvista.com/search/'.$keyword);

该函数内部使用file_get_contents(),它不接受空格并需要使用urlencode()编码URI。

试试这个:

$html = file_get_html( urlencode('http://www.tutorvista.com/search/'.$keyword) );

价:

http://sourceforge.net/p/simplehtmldom/code/208/tree/trunk/simple_html_dom.php#l76 http://php.net/manual/en/function.file-get-contents.php