Douglas Crockford: entityify & deentityify

大神之字符与字符实体的相互转换方法

// & to &
if (!String.prototype.entityify) {
    String.prototype.entityify = function () {
        return this.replace(/&/g, "&").
                    replace(/</g, "&lt;").
                    replace(/>/g, "&gt;").
                    replace(/\"/g, "&quot;");
    };
}

// &amp; to &
if (!String.prototype.deentityify) {
    String.prototype.deentityify = function () {
        return this.replace(/&amp;/g, "&").
                    replace(/&lt;/g, "<").
                    replace(/&gt;/g, ">").
                    replace(/&quot;/g, "\"");
    };
}

var sourceStr = '<p>"a&b"</p>';

var entityStr = sourceStr.entityify();
console.log(entityStr);  // &lt;p&gt;&quot;a&amp;b&quot;&lt;/p&gt; 

var deentityStr = entityStr.deentityify();
console.log(deentityStr);  // <p>"a&b"</p>

 

posted @ 2014-06-05 23:00  farawayfromhome  阅读(416)  评论(0编辑  收藏  举报