Как сохранить исходные \ x коды в строках с помощью PHP? - PullRequest
0 голосов
/ 19 апреля 2019

Таким образом, у меня есть строка с \ x кодами, такими как "\ xA3", и печать их в кодировке UTF-8 выведет правильные символы, такие как £ в этом случае.

Но как мне сохранитьисходное представление, так что вместо него просто распечатывается \ xA3?

Я пытался использовать str_replace("\\x", "\\x", $xcodes), и я также пытался preg_replace('#\\\\x\w+#', '\\x', $xcodes), но ни один из них не работает.

Редактировать 1: ПожалуйстаОбратите внимание, что строки взяты из внешних источников, поэтому использование одинарных / двойных кавычек в PHP не имеет значения.Как только я распечатываю их напрямую, эти символы преобразуются в символы, поэтому я хочу найти способ сохранить коды \ x и просмотреть необработанное представление.

Редактировать 2: Строкиисходят от пользовательского агента с кодами, такими как \ xA3 \ xA9 (да, тесты эксплойтов Shellshock), поэтому, когда я запускаю следующее:

$ua = $_SERVER['HTTP_USER_AGENT'];
// Prepare query with PDO, "insert into user_agents (values) values (:ua)"
// Define placeholder :ua as string $ua.
// Execute insert query.

MySQL вернет «недопустимое строковое значение, \ xA3 \ xA9" ошибка.Отчасти поэтому я хочу сохранить представление шестнадцатеричного кода, а также чтобы я мог видеть непечатаемые символы.

Поэтому вместо «Chrome 70.45 [непечатные символы]» я бы увидел «Chrome 70,45 \ Ax3 \ xA9 ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...