Невидимый персонаж смотрит вверх? (PHP)

Я анализирую некоторые файлы, которые содержат невидимые символы. Файлы странно структурированы, поэтому мне иногда приходится находить реальную информацию после 9 или 10 невидимых символов. Да уж...

В любом случае, у меня есть файлы, в которых, похоже, есть невидимые символы, о которых мое регулярное выражение еще не знает. Есть ли способ передать символ через функцию, чтобы посмотреть его код символа? Поскольку он невидим, мне больше нечего делать, ха.

В настоящее время я использую следующее регулярное выражение для поиска невидимых символов. (найдено из этого вопроса)

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

1 ответ

Решение

Ваши контрольные персонажи. Но другой настоящий невидимый персонаж \xA0 неразрывное пространство.

В любом случае, чтобы узнать, что вас беспокоит, сначала изолируйте его (substr если сможешь), а потом передай через ord() чтобы получить номер ASCII:

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

(dechex для распечатки в шестнадцатеричном формате)

Хотя на самом деле, вы должны просто скачать hexeditor для таких целей.

Другие вопросы по тегам