"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como remover seletivamente caracteres de controle de strings PHP?

Como remover seletivamente caracteres de controle de strings PHP?

Publicado em 2024-11-03
Navegar:806

How to Selectively Remove Control Characters from PHP Strings?

Eliminando caracteres de controle de strings PHP

Ao trabalhar com strings PHP, às vezes é necessário remover caracteres de controle como STX. Ao tentar usar preg_replace, você pode ter descoberto que ele removeu caracteres excessivos além dos caracteres de controle. Nosso foco aqui é mostrar como remover seletivamente apenas caracteres de controle.

Para conseguir isso, você pode utilizar o seguinte código:

preg_replace('/[\x00-\x1F\x7F]/', '', $input);

Este padrão corresponde e substitui caracteres do intervalo de valores hexadecimais \x00 a \x1F, bem como o valor \x7F. Esse intervalo abrange os primeiros 32 caracteres ASCII, bem como o caractere DEL.

Se quiser preservar certos caracteres de controle, como avanço de linha e retorno de carro, você pode ajustar o padrão de acordo:

preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);

Ao usar este padrão, você pode remover todos os caracteres de controle exceto avanço de linha (\n) e retorno de carro (\r).

É importante observar que ereg_replace está obsoleto no PHP >= 5.3.0 e removido no PHP >= 7.0.0. Para garantir a compatibilidade, use preg_replace:

preg_replace('/[[:cntrl:]]/', '', $input);
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3