PHP:变量不与字符串比较

时间:2014-01-26 14:52:26

标签: php string simple-html-dom

我正在抓取一个html页面并尝试获取文本值。但是当我尝试比较文本字符串时,它总是返回false。

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

$url = "http://google.com";

$date = "date";
$html = file_get_html($url);

foreach($html->find('table.tablehead') as $table)  
  foreach($table->find('tr') as $row)
  {
    foreach($row->find('td') as $item)
    { 
      $item1 = strtolower(trim($item));

      if($item1 == $date)
        echo $item->.' ';
    } 
    echo '<br/>';
  }
?>

“if($ item1 ==”date“)”行总是返回false。我已经尝试过strcmp,regex,===和其他函数。

2 个答案:

答案 0 :(得分:3)

你试过var_dump($item)吗?因为你可能会发现它是一个DOM元素,而不是一个字符串。

我不知道你正在使用什么DOM库 - 我自己使用DOMDocument - 但是你应该使用textContent属性来获取元素......好吧,文本内容。

答案 1 :(得分:2)

看起来为Simple HTML DOMfile_get_html)。如果需要<td>中的日期,请更改行:

  $item1 = strtolower(trim($item));

要:

  $item1 = strtolower(trim($item->plaintext)); // return inner text from tag `<td>`