string — конвертировать восьмеричные / шестнадцатеричные escape-последовательности

Я не уверен в точном названии этой функциональности php, поэтому, если у вас есть совет для лучшего названия этого вопроса, приветствуется.

Дело в том, что у меня есть строка, написанная таким образом "ge\164\x42as\145\x44\151\x72" и я хотел бы преобразовать их в читаемые символы (например, приведенное выше строковое значение "getBaseDir")

Как я могу сделать это программным способом, используя php?

Обновить
Эти строки содержатся в исходном файле php, который я хотел бы проанализировать и очистить, чтобы сделать его более читабельным.

Поэтому я был бы признателен за решение, которое предоставило бы мне возможность разобрать и скрыть всю строку сразу (например, с помощью регулярного выражения) …

здесь часть кода, чтобы было легче понять сценарий

 public function cmp($x74, $x7a)
{
$x76 = $this->x1c->x3380->{$this->xc1->x3380->xe269};
$x12213 = "\x68\145\x6c\x70\x65\x72";
$x11f45 = "\x67\x65\164\123t\x6fr\x65Co\156\146\x69\147";

if ($x76(${$this->x83->x3380->{$this->x83->x3380->{$this->x83->x3380->xd341}}}) == $x76(${$this->x83->x336e->{$this->xc1->x336e->{$this->xc1->x336e->x8445}}})) {
return 0;
}
return ($x76(${$this->x83->x334c->{$this->x83->x334c->x3423}}) < $x76(${$this->x83->x336e->{$this->xc1->x336e->{$this->xc1->x336e->x8445}}})) ? 1 : -1;
}

Просто очистить приведенный выше код является частью расширения, которое мы законно покупаем, но нам нужно настроить.

0

Решение

Как я могу сделать это программным способом, используя php?

Вы можете просто повторить это:

echo "ge\164\x42as\145\x44\151\x72";
//getBaseDir
0

Другие решения

$string = '"\125n\141\x62\154\145\40to\x67\145\156e\x72\141t\145\x20\x74\x68e\40d\x61t\141\40\146\145\145d\x2e"';

\\ convert the octal into string
$string = preg_replace_callback('/\\\\([0-7]{1,3})/', function ($m) {
return chr(octdec($m[1]));
}, $string);

\\ convert the hexadecimal part of the string
$string = preg_replace_callback('/\\\\x([0-9A-F]{1,2})/i', function ($m) {
return chr(hexdec($m[1]));
}, $string);

в этой конкретной ситуации мне нужно проанализировать полное содержимое файла на соответствие всей строке, разделенной "" и конвертировать их, вот полное решение

$content = file_get_contents($filepath);

// match all string delimited by ""$content = preg_replace_callback("/(\".*?\")/s ", function ($m) {
$string = $m[1];

\\ convert the octal into string
$string = preg_replace_callback('/\\\\([0-7]{1,3})/', function ($m) {
return chr(octdec($m[1]));
}, $string);

\\ convert the hexadecimal part of the string
$string = preg_replace_callback('/\\\\x([0-9A-F]{1,2})/i', function ($m) {
return chr(hexdec($m[1]));
}, $string);

return $string;

}, $content);
0

попробуй это

$ret = print_r("\\012", true);
0
По вопросам рекламы [email protected]