解析错误:语法错误,意外T_CONSTANT_ENCAPSED_STRING,期待T_STRING或T_VARIABLE或'{'或'$'

时间:2011-02-05 04:20:13

标签: php parsing

从此Simple Dom Site

if(isset($html->'div#sidebar')) 
{
    $sidebarFile = 'D:\xampp\htdocs\final\wordpress\sidebar.php';
    $openSidebarFile = fopen($sidebarFile,'a');
    foreach($html->find('div#sidebar')) as $e)
    {
        $html ->find('div[id=sidebar]', 0) -> innertext;
        $inputSidebar = $e->outertext;
        fwrite($openSidebarFile, "\n" .inputSidebar "\n");
    }
}

从文档中: 它说:

// Determine whether a attribute exist? 
if(isset($e->href)) 
        echo 'href exist!';

2 个答案:

答案 0 :(得分:1)

$html->'div#sidebar'真的是你想要的吗?哪里是find

此外,您只能将isset用于变量(或类似的数据访问),而不是函数返回值。请改用empty

答案 1 :(得分:1)

这里有一些问题我会直接纠正它们:

if($html->find('div#sidebar')) 
{
    $sidebarFile = 'D:\xampp\htdocs\final\wordpress\sidebar.php';
    $openSidebarFile = fopen($sidebarFile,'a');
    foreach($html->find('div#sidebar') as $e)
    {
        $html ->find('div[id=sidebar]', 0) -> innertext;
        $inputSidebar = $e->outertext;
        fwrite($openSidebarFile, "\n" .inputSidebar "\n");
    }
} 

现在,改变了什么?第一个ifforeach。如果使用了错误的函数,则错误检查为空。 foreach的()大括号不匹配。