2011-05-27 31 views
2

我有一些Ajaxing,我有2塊源代碼。第一個是:如何在JavaScript/PHP中查看2段代碼是否相同?

window.lastSavedContents = "<?php echo htmlentities($contents); ?>"; 

第二個是用戶鍵入到文本編輯器中的任何內容。問題是window.lastSavedContentshtmlentities編碼,而第二個塊不是。

如何檢查等效性?

回答

1

首先,不使用htmlentities,但htmlspecialchars,只有編碼<>&"。這樣,你可以使用

var decoded = encoded.replace(/&amp;/g, '&') 
        .replace(/&lt;/g, '<') 
        .replace(/&quot;/g, '"') 
        .replace(/&gt;/g, '>'); 

只需更換這些實體如果你仍然想使用htmlentities你可以簡單地創建一個臨時div

var div = document.createElement('div'); 
div.innerHTML = encoded; 
var decoded = div.firstChild.nodeValue; 
相關問題