我根据主题标签通过XML格式阅读推文,但我在推文中遇到一些奇怪的字符,这些字符给我带来了麻烦。例如:
我设法使用我在网上找到的代码修复了它:
$thetweet = preg_replace('/[\x00-\x08\x10\x0B\x0C\x0E-\x19\x7F]'.
'|[\x00-\x7F][\x80-\xBF]+'.
'|([\xC0\xC1]|[\xF0-\xFF])[\x80-\xBF]*'.
'|[\xC2-\xDF]((?![\x80-\xBF])|[\x80-\xBF]{2,})'.
'|[\xE0-\xEF](([\x80-\xBF](?![\x80-\xBF]))|(?![\x80-\xBF]{2})|[\x80-\xBF]{3,})/S',
'?', $thetweet );
但是,此正则表达式在ActionScript 3中不起作用。 任何人都可以帮助在ActionScript中应用此代码吗?它不接受这个正则表达式。
答案 0 :(得分:0)
根据非常奇怪的文档,你必须双重转义十六进制转义序列。
我不知道,文档很糟糕。但你可以试试
raw:
[\\x00-\\x08\\x10\\x0B\\x0C\\x0E-\\x19\\x7F]|[\\x00-\\x7F][\\x80-\\xBF]+|([\\xC0\\xC1]|[\\xF0-\\xFF])[\\x80-\\xBF]*|[\\xC2-\\xDF]((?![\\x80-\\xBF])|[\\x80-\\xBF]{2,})|[\\xE0-\\xEF](([\\x80-\\xBF](?![\\x80-\\xBF]))|(?![\\x80-\\xBF]{2})|[\\x80-\\xBF]{3,})/S
分隔:
/[\\x00-\\x08\\x10\\x0B\\x0C\\x0E-\\x19\\x7F]|[\\x00-\\x7F][\\x80-\\xBF]+|([\\xC0\\xC1]|[\\xF0-\\xFF])[\\x80-\\xBF]*|[\\xC2-\\xDF]((?![\\x80-\\xBF])|[\\x80-\\xBF]{2,})|[\\xE0-\\xEF](([\\x80-\\xBF](?![\\x80-\\xBF]))|(?![\\x80-\\xBF]{2})|[\\x80-\\xBF]{3,})\/S/