使得处理后的字符串,在XML都是合法的了。
#------------------------------------------------------------------------------ # remove control character from input string # otherwise will cause wordpress importer import failed # for wordpress importer, if contains contrl char, will fail to import wxr # eg: # 1. http://againinput4.blog.163.com/blog/static/172799491201110111145259/ # content contains some invalid ascii control chars # 2. http://hi.baidu.com/notebookrelated/blog/item/8bd88e351d449789a71e12c2.html # 165th comment contains invalid control char: ETX # 3. http://green-waste.blog.163.com/blog/static/32677678200879111913911/ # title contains control char:DC1, BS, DLE, DLE, DLE, DC1 def removeCtlChr(inputString) : validContent = ''; for c in inputString : asciiVal = ord(c); validChrList = [ 9, # 9=\t=tab 10, # 10=\n=LF=Line Feed=换行 13, # 13=\r=CR=回车 ]; # filter out others ASCII control character, and DEL=delete isValidChr = True; if (asciiVal == 0x7F) : isValidChr = False; elif ((asciiVal < 32) and (asciiVal not in validChrList)) : isValidChr = False; if(isValidChr) : validContent += c; return validContent;
例 2.11. removeCtlChr的使用范例
# remove the control char in title: # eg; # http://green-waste.blog.163.com/blog/static/32677678200879111913911/ # title contains control char:DC1, BS, DLE, DLE, DLE, DC1 infoDict['title'] = removeCtlChr(infoDict['title']);
关于控制字符 | |
---|---|
如果不了解什么是控制字符,请参考:ASCII字符集中的功能/控制字符 |