企业网站内容策划建站公司
1410. HTML 实体解析器
「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。
HTML 里这些特殊字符和它们对应的字符实体包括:
- 双引号:字符实体为 
",对应的字符是"。 - 单引号:字符实体为 
',对应的字符是'。 - 与符号:字符实体为 
&,对应对的字符是&。 - 大于号:字符实体为 
>,对应的字符是>。 - 小于号:字符实体为 
<,对应的字符是<。 - 斜线号:字符实体为 
⁄,对应的字符是/。 
给你输入字符串 text ,请你实现一个 HTML 实体解析器,返回解析器解析后的结果。
使用双指针遍历string
int i=0;
while(i<n):
if(s[i]第一个符合条件){
int j=i;
while(j<n&&s[j]符合条件)j++;//停下后j不符合条件;
string t=s.substr(i,j-i);//扣字符串
....
}
class Solution {
public:string entityParser(string s) {map<string, char> mp;mp["quot"] = '\"';mp["apos"] = '\'';mp["amp"] = '&';mp["gt"] = '>';mp["lt"] = '<';mp["frasl"] = '/';string res="";int i=0,n=s.size();while(i<n){if(s[i]!='&'){res+=s[i];i++;}else{int j=i;while(j<n&&s[j]!=';')j++;string t=s.substr(i+1,j-i-1);if(!mp[t]){res+=s[i];i++;}else{res+=mp[t];i=j+1;}}}return res;}}; 
