码迷,mamicode.com
首页 > Web开发 > 详细

htmlparser2#Tokenizer.prototype._stateInNamedEntity bug

时间:2014-12-01 17:37:59      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:blog   io   ar   sp   java   on   2014   art   log   

source:

Tokenizer.prototype._stateInNamedEntity = function(c){
        if(c === ";"){
                this._parseNamedEntityStrict();
                if(this._sectionStart + 1 < this._index && !this._xmlMode){
                        this._parseLegacyEntity();
                }
                this._state = this._baseState;
        } else if((c < "a" || c > "z") && (c < "A" || c > "Z") && (c < "0" || c > "9")){
                if(this._xmlMode);
                else if(this._sectionStart + 1 === this._index);
                else if(this._baseState !== TEXT){ 
                        if( c !== "="){
                                this._parseNamedEntityStrict();  // this is a bug line.
                       }
                } else {
                        this._parseLegacyEntity();
                }
                this._state = this._baseState;
                this._index--;
        }
};

input: &trade_type=xxx,  the  c is "_",
output: ?type=xxx

fix: if((c < "a" || c > "z") && (c < "A" || c > "Z") && (c < "0" || c > "9"))
and  c !== "="
do nothing!

htmlparser2#Tokenizer.prototype._stateInNamedEntity bug

标签:blog   io   ar   sp   java   on   2014   art   log   

原文地址:http://blog.csdn.net/axman/article/details/41649923

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!