Чтобы получить строку в двойных кавычках (которую я не могу изменить) правильно проанализировал, я должен сделать следующее:
$string = '15 Rose Avenue\n Irlam\n Manchester';
$string = str_replace('\n', "\n", $string);
print nl2br($string); // demonstrates that the \n's are now linebreak characters
Все идет нормально.
Но в моей заданной строке есть такие символы, как \xC3\xA4
, Есть много таких символов (начиная с \ x ..)
Как я могу получить их правильно, как показано выше, с разрывом строки?
Ты можешь использовать
$str = stripcslashes($str);
Вы можете избежать \
в одинарных кавычках:
$string = str_replace('\\n', "\n", $string);
Но у вас будет много потенциальных замен, если вам нужно сделать \\xC3
и т.д …. лучше всего использовать preg_replace_callback()
с функцией (обратного вызова), чтобы перевести их в байты