2011-05-27 63 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; 
相关问题