php
  • email
  • 2012-05-08 63 views 0 likes 
    0

    我需要在頁面發生更改時向我發送電子郵件的腳本。 這是我的代碼,但它的工作不正確。我怎樣才能正常工作?比較頁面內容

    $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"; 
    } 
    
    +0

    「不工作」永遠不是一個足夠的問題描述。請解釋到底是什麼問題。 –

    +0

    如果「文本不同」,則保持在第一個位置。 –

    +0

    這是哪一種語言? PHP?請添加適當的標籤。 – tripleee

    回答

    0

    嘗試使用比較

    strcmp($new_out, $old_out) == 0 
    

    測試,如果他們是相同的。

    此外,我會建議只存儲在數據庫中的頁面內容的散列,而不是整個字符串。因此,存儲

    hash('md5', $new_page) 
    

    在數據庫中,而不是$new_page,如果你想看看是否有什麼改變比較哈希值。如果需要,也可以存儲內容,但不要在內容上進行比較。

    0

    同時存儲htmlcontent添加htmlentities並存儲.... 您可以參考this link的正則表達式做同樣的....

    您也可以前之前刪除所有的空格,我會建議使用像levenshteinsimilar-text這樣的字符串算法來檢查匹配的百分比並保持一些閾值可能幾乎相同的閾值爲95%

    相關問題