18 lines
		
	
	
		
			508 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			508 B
		
	
	
	
		
			Python
		
	
	
	
| import re
 | |
| class _escape:
 | |
|     def __init__(self):
 | |
|         self.escape = {
 | |
|             u'"' : u'"', u'<' : u'<', u'>' : u'>', 
 | |
|             u'&' : u'&', u"'" : u''',
 | |
|             }
 | |
|         self.charef_rex = re.compile(u"|".join(self.escape.keys()))
 | |
| 
 | |
|     def _replacer(self, match):
 | |
|         return self.escape[match.group(0)]
 | |
| 
 | |
|     def __call__(self, ustring):
 | |
|         """ xml-escape the given unicode string. """
 | |
|         return self.charef_rex.sub(self._replacer, ustring)
 | |
| 
 | |
| escape = _escape()
 |