我有一个我无法读取的php文件,因为所有变量/函数都有奇怪的名字! 我文件的功能块是:
public static function ………… …… … ($ ……… … …… , $ …… ……… …… )
{
$ …… …… …… = strpos( …………… … …… :: ……… ……… … ($ ……… … …… ) , $ …… ……… …… );
return (false !== $ …… …… …… ) ? (int)floor($ …… …… …… / 4) : false;
}
据我所知,php标准不允许使用可变名称中的点和空格。
如果有与character encoding
相关的内容,我自己就来了!正如我发现的,文件编码是windows-1252
。
可以将这些点和空格转换为可读的内容吗?
另外因为它们是变量/函数,所以它们在文件中出现多次。
已编辑#1
我在Widnows操作系统下使用Notepad ++ / Sublime Text打开文件,并且没有付款或其他东西。
已编辑#2
脚本没有问题!
已编辑#3
链接到文件:https://www.dropbox.com/s/hoegvk0vz53cnyn/include.php
答案 0 :(得分:6)
看来你的“空格”和“点”不是它们的样子。在您在问题中发布的代码中,这些实际上是“非破坏空格”(c2 a0)和“省略号”(e2 80 a6)。这些是标识符中完全有效的字符。
(感谢StackOverflow与100%UTF-8兼容)。
[编辑]
...但是看了你链接的文件后,文件编码就是Windows-1252(又名CP1252)。答案仍然是正确的,但相应的二进制值与我上面提到的值略有不同。
答案 1 :(得分:3)
这是它转换为更具可读性的东西。
public static function ………… …… … ( $a , $b )
{
$c = strpos( some_class::some_function($a), $b );
return (false !== $c) ? (int)floor($c / 4) : false;
}
如果没有看到它引用的其他函数或它给出的错误消息,就很难看出它失败的原因。
此代码故意混淆了一些原因。也许是为了阻止人们摆弄,或者因为它是获得许可的。如果它不起作用,您可以尝试联系作者。