比较页面内容

时间:2012-05-08 17:56:56

标签: php email

我需要脚本在页面上发生变化时向我发送电子邮件。 这是我的代码,但它无法正常工作。我该怎样才能正常工作?

$new_page = file_get_contents('http://www.google.com');

$new_page_in = mysql_real_escape_string($new_page);
mysql_query("UPDATE new SET text='$new_page_in' WHERE id='1'") or die (mysql_error());

$sql1 = mysql_query("SELECT text FROM new WHERE id='1'") or die (mysql_error());
list($new_out) = mysql_fetch_row($sql1);

$sql2 = mysql_query("SELECT text FROM old WHERE id='1'") or die (mysql_error());
list($old_out) = mysql_fetch_row($sql2);    

if($new_out != $old_out)
{
    $new_page = file_get_contents('http://www.google.com');
    $new_page_in = mysql_real_escape_string($new_page);
    mysql_query("UPDATE old SET text='$new_page_in' WHERE id='1'") or die (mysql_error());
    echo "Text is diferent.";
            //send email
}
else
{
    echo "Text isn't diferent";
}

2 个答案:

答案 0 :(得分:0)

尝试使用比较

strcmp($new_out, $old_out) == 0

测试它们是否相同。

另外,我建议只在数据库中存储页面内容的哈希值,而不是整个字符串。所以存储

hash('md5', $new_page) 
数据库中的

而不是$new_page,如果要查看是否有任何更改,请比较哈希值。如果需要,也可以存储内容,但不要对内容进行比较。

答案 1 :(得分:0)

我会在存储htmlcontent时建议添加htmlentities并在存储之前删除所有空格.... 您可以参考this link以使正则表达式执行相同的操作....

此外,您可以使用levenshteinsimilar-text之类的字符串算法来检查匹配百分比,并将几乎相同的阈值保持在95%

相关问题