У меня есть запрос в php-строке, которую я пытаюсь отфильтровать от знаков%. Все дело в utf-8. Если строка содержит% (например,% acheron), она преобразуется в ее эквивалентную сущность (в случае, если я упоминаю, что она становится символом символа «не», который интерпретируется последовательностью% ac в строке). Я не могу очистить входящую строку этого символа/ Я не могу очистить строку с заменой php, потому что к тому моменту, когда она в скрипте уже «расшифрована?».PHP чистая входящая строка с знаком%
Единственный способ, которым я смог найти, это использовать rawurlencode, а затем очистить его, но это похоже на дерьмовое решение, и это создает проблемы с другими персонажами для меня.
Есть ли более эффективный способ очистки этих символов, не затрагивая остальную часть строки? например, я ищу функцию, которая будет отбрасывать% & # (и любые другие) из строки, но в противном случае оставить ее неповрежденной. (preg_replace не работает для меня)
Другими словами, есть способ принять строку и очистить ее без каких-либо потенциально специальных символов, преобразованных, чтобы я мог их удалить из строки.
EDIT: запрос поступает через GET, неясно. EDIT2: с кодом urlecode или rawurl: % acheron преобразуется в% ACheron (который можно было очистить, я думаю), но ^ acheron преобразуется в% 5Eacheron (таким образом, почти невозможно очистить его с помощью шаблона) ...
Пожалуйста, простите noobishness мой вопрос спасибо Ларри
Пробовал работает urldecode() на ней первым? –
Я попытался использовать его как rawurlencode, но если я использую либо он возвращается как% ACheron, но и с той же функцией, если входной файл^Acheron преобразуется в% 5Eacheron – Larry
Какой браузер вы используете, который преобразует% ac в^A во время подачи формы? –