PHP: quebras de caracteres inválidos html

votos
0

como devo limpar uma string que contém caracteres inválidos e iria quebrar html depois imprimi-lo em textarea?

Do PHP ord()retorna 0 para o referido personagem, mas eu suspeito que não é nulo, o que eu não acho que é importante de qualquer maneira.

Quando seqüência é exibida no textarea todo o texto após o caractere inválido desapareceria, bem como todos os elementos HTML após a textarea.

Eu tentei com htmlentities, htmlspecialchars, mb_convert_encoding, iconv('UTF-8', 'UTF-8//IGNORE', $str), mas nenhum deles funcionou.

filter_var() não é introduzida ainda em 5.1.2 que estamos usando.

eco e var_dump imprimir o personagem como

Publicado 10/03/2009 em 15:53
fonte usuário
Em outras línguas...                            


3 respostas

votos
2

Experimente filter_var($string, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW).

Edit: Desde 5.1.2 não tem filter_var, você poderia tentar isso (o que é quase a mesma coisa):

preg_replace('/\p{Cc}/u', '', $string);
Respondeu 10/03/2009 em 15:56
fonte usuário

votos
1

Eu tenho usado essa expressão regular antes, quando htmlentities, htmlspecialchars, mb_convert_encoding, iconv ( 'UTF-8', 'UTF-8 // IGNORE', $ str) não funcionou. Ele retira os caracteres de controlo

$str = preg_replace( '/[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F]/', '', $str );
Respondeu 10/03/2009 em 17:26
fonte usuário

votos
0

Possivelmente:

$str = trim($str, chr(0));

??

Respondeu 30/03/2009 em 23:08
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more