首页 > 代码库 > htmlparser2#Tokenizer.prototype._stateInNamedEntity bug
htmlparser2#Tokenizer.prototype._stateInNamedEntity bug
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。