Удаление управляющих символов из строк PHP
При работе со строками PHP иногда необходимо удалить управляющие символы, такие как STX. При попытке использовать preg_replace вы, возможно, обнаружили, что он удалил лишние символы, помимо управляющих символов. Наша цель – показать вам, как выборочно удалять только управляющие символы.
Для этого вы можете использовать следующий код:
preg_replace('/[\x00-\x1F\x7F]/', '', $input);
Этот шаблон соответствует и заменяет символы из диапазона шестнадцатеричных значений от \x00 до \x1F, а также значения \x7F. Этот диапазон включает в себя первые 32 символа ASCII, а также символ DEL.
Если вы хотите сохранить определенные управляющие символы, такие как перевод строки и возврат каретки, вы можете соответствующим образом настроить шаблон:
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);
Используя этот шаблон, вы можете удалить все управляющие символы кроме перевода строки (\n) и возврата каретки (\r).
Важно отметить, что ereg_replace устарел в PHP >= 5.3.0 и удален в PHP >= 7.0.0. Чтобы обеспечить совместимость, вместо этого используйте preg_replace:
preg_replace('/[[:cntrl:]]/', '', $input);
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3