Сегодня столкнулся с проблемой PHP и интерпретации строк.
У меня есть переменная, которая хранит строку, и мне нужно, чтобы эта строка интерпретировалась PHP для замены внутри нее специальных символов, таких как новые строки, табуляции, шестнадцатеричные символы и т. Д. Я знаю, что это можно сделать, поместив двойные кавычки вокруг объявленной мной строки как $ test, однако это не всегда опция для строк, которые уже объявлены.
Есть ли способ, с помощью которого PHP может интерпретировать уже объявленную строку?
Увидеть ниже:
http://php.net/manual/en/language.types.string.php
Пример:
<?php
$test = '\x68\x65\x6C\x6C\x6F';
if ("$test" === '\x68\x65\x6C\x6C\x6F') //echos true, even with double quotes around the variable
{
echo 'true';
}
else if ("$test" === 'hello') //How can I get this condition to be true rather than the previous statement without placing double quotes around my original string I declared?
{
echo 'false';
}
?>
Обновить:
Решение заключается в использовании stripcslashes (), так как он преобразует escape-последовательности в уже объявленную строку. Спасибо @Edgars WEBHAUS
Задача ещё не решена.
Других решений пока нет …