看不见的角色? (PHP)

时间:2011-05-07 03:41:11

标签: php regex invisible

我正在解析一些包含不可见字符的文件。文件的结构很奇怪,所以我有时必须在9或10个不可见字符后找到真正的信息。是啊...

无论如何,我有一些文件似乎有我的正则表达式尚不知道的隐形字符。有没有办法通过函数传递一个字符来查找它的字符代码?因为它是看不见的,所以我真的没有太多其他事情可以继续,哈哈。

目前我正在使用以下正则表达式来查找不可见的字符。 (来自this question

public $invisibles='\x00-\x09\x0B\x0C\x0E-\x1F\x7F';

1 个答案:

答案 0 :(得分:1)

你的是控制角色。但另一个真正看不见的角色是\xA0不间断的空间。

无论如何要找出哪些是你的错误,首先将其隔离(substr,如果可以),然后通过ord()传递以获取ASCII号码:

preg_match('/\W/', $str, $match);   // find first non-letter
print dechex(ord($match[0]));

(dechex用于将其打印为十六进制)

尽管如此,你应该为此目的下载一个hexeditor。