Странные имена переменных/методов/классов - PHP

У меня есть php файл, который я не могу прочитать, потому что все переменные/функции имеют странные имена! Блок функции моего файла:

public static function    …………  …… …  ($   ………  …  ……  , $   …… ………  ……  )
{
    $   …… ……   ……   = strpos(   …………… … ……  ::   ……… ……… …   ($   ………  …  ……  ) , $   …… ………  ……  );

    return (false !== $   …… ……   ……  ) ? (int)floor($   …… ……   ……   / 4) : false;
}

Как я знаю, стандарты php не позволяют использовать точки и пробелы в имени varaible.

Я сам только что пришел, если есть что-то, связанное с character encoding! как я нашел, кодировка файла windows-1252.

Можно ли преобразовать эти точки и пробелы в нечто читаемое?

Кроме того, поскольку они являются переменными/функциями, они имеют более одного вхождения в файл.

Отредактировано # 1

Я открываю файл, как всегда, с помощью Notepad ++/Sublime Text под Widnows OS, и он не оплачивается или что-то в этом роде.

Отредактировано # 2

Script работает без проблем!

Отредактировано # 3

Ссылка на файл: https://www.dropbox.com/s/hoegvk0vz53cnyn/include.php

Ответ 1

Кажется, ваши "пробелы" и "точки" не похожи на то, что они выглядят. В коде, опубликованном в вашем вопросе, это фактически "неразрывные пробелы" (c2 a0) и "многоточие" (e2 80 a6). Это вполне допустимые символы в идентификаторе.

(спасибо StackOverflow за 100% совместимость с UTF-8).

[править]

... но посмотрев на файл, который вы связали, кодировка файла - это скорее Windows-1252 (он же CP1252). Ответ по-прежнему верен, но соответствующие двоичные значения немного отличаются от тех, которые я упоминал выше.

Ответ 2

Здесь он преобразуется в нечто более читаемое.

public static function    …………  …… …  ( $a , $b )
{
    $c = strpos( some_class::some_function($a), $b );
    return (false !== $c) ? (int)floor($c / 4) : false;
}

Не видя другую функцию, которую она ссылается, или сообщение об ошибке, которое она дает, было бы трудно понять, почему она не удалась.

Этот код был преднамеренно запутанным по какой-либо причине. Возможно, чтобы люди перестали играть или, может быть, потому, что они получили лицензию. Если это не сработает, попробуйте обратиться к автору.