C++ 100%
\nclass Solution {\npublic:\n    string entityParser(const string& text){\n        string s;\n        for(size_t i=0; i<text.size(); ++i) {\n            if(text
```\nclass Solution {\npublic:\n    string entityParser(const string& text){\n        string s;\n        for(size_t i=0; i<text.size(); ++i) {\n            if(text[i]==\'&\') {\n                size_t p=text.find(\';\',i+1);\n                if(p==string::npos or p-i<3 or p-i>6) s+=\'&\';\n                else {\n                    switch(p-i) {\n                        case 3:  s+=text[i+1]==\'g\'?\'>\':\'<\';  break;\n                        case 5:  s+=text[i+1]==\'a\'?\'\\\'\':\'"\'; break;\n                        case 6:  s+=\'/\'; break;\n                        default: s+=\'&\';\n                    }\n                    i=p;\n                }\n            }\n            else s+=text[i];\n        }\n        return s;\n    }\n};\n```
['C']