标签: php regex invisible
我正在解析一些包含不可见字符的文件。文件的结构很奇怪,所以我有时必须在9或10个不可见字符后找到真正的信息。是啊...
无论如何,我有一些文件似乎有我的正则表达式尚不知道的隐形字符。有没有办法通过函数传递一个字符来查找它的字符代码?因为它是看不见的,所以我真的没有太多其他事情可以继续,哈哈。
目前我正在使用以下正则表达式来查找不可见的字符。 (来自this question)
public $invisibles='\x00-\x09\x0B\x0C\x0E-\x1F\x7F';
答案 0 :(得分:1)
你的是控制角色。但另一个真正看不见的角色是\xA0不间断的空间。
\xA0
无论如何要找出哪些是你的错误,首先将其隔离(substr,如果可以),然后通过ord()传递以获取ASCII号码:
substr
ord()
preg_match('/\W/', $str, $match); // find first non-letter print dechex(ord($match[0]));
(dechex用于将其打印为十六进制)
尽管如此,你应该为此目的下载一个hexeditor。