Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
e ai galera blll
to usando uma expressão regular do php preg_replace para remover caracter especial de uma string evitando assim injeção sql.
o que ocorre e que quando digite palavras com acentos ela esta removendo as letras. Preciso permitir que passe vogais acentuadas, alguem ai da um help.
$abreviacao = preg_replace('/[^[:alnum:] a-z]/','',$abreviacao);
bom ida Omar blll
caracteres que podem ser passadas via post tipo aspa simples, sinal de igual.
//pegando o campo do formulario via post
$cliente = $_POST['cliente'];
//limpando o campos de caracteres especiais
$cliente = preg_replace('/[^[:alnum:] ]/','',$cliente);
faça essa limpeza dos caracteres antes de fazer o cadastro no banco, o que ocorre é que se envio palavra com acentos ex â, é, ô, ç, ele esta removendo essas letras.Hun... Nesse caso basta fazer a substituição, listando todos os caracteres em um array e usar a função str_replace para substituí-los por nada.
Exemplo:
<?php
$stringInicial = " > 'João' e 'maria' < foram no \"mercado\" comprar = `pão`";
var_dump($stringInicial);
$invalidos = [ // Array com todos tipos de caracteres que queira remover da string;
'"',
"'",
'`',
'=',
'-',
'<',
'>'
];
$stringLimpa = str_replace($invalidos, null, $stringInicial); // Fazendo a substituição por um valor nulo
echo ("<hr />");
var_dump($stringLimpa);
Lógico que isso irá remover quaisquer caracteres que estejam no array, porém temos nesse termo espaços duplicados como "*o asterisco representa um espaço*"
Antes: ***>*'João'**
Depois: ****João**
Então basta fazer o tratamento desse termo.
Porém se for mesmo questão de usar uma expressão basta usar o regex aceitando acentuações:
<?php
$stringInicial = " > 'João' e 'maria' < foram no \"mercado\" comprar `pão`";
var_dump($stringInicial);
echo ("<hr />");
$stringLimpa = preg_replace('/[^[:alnum:] a-zÀ-ú]/', '', $stringInicial);
var_dump($stringLimpa);E porque não utilizar a função nativa?
Mas que tipo de caractere especial?
Na via das dúvidas opte pela função htmlentities