Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

carlospovoajr

Função para retirar caracteres especiais e Acentos

Recommended Posts

Boa tarde pessoal da iMasters, meu primeiro Post aqui no Fórum.

 

Não estou conseguindo adicionar a função e o código corretos no .php de cadastros que uso em um servidor de jogo, li varios posts tentei adicionar como falavam mas fica dando erro na linha que adiciono.

Vou postar uma parte do PHP original que não modifiquei e estou usando para os cadastros no site, dessa forma funciona mas nao retira caracteres e acentos.

 

Quanto tento adicionar alguma função, das que tentei, aparece "Parse error: syntax error, unexpected T_ELSEIF in C:\AppServ\www\cadastro_process.php e a linha correspondente"


<?php 
include("valida_captcha.php");
include('include/global.php');
//Recebe valores da register
$nome = $_POST['nome'];
$login  = $_POST['user'];
$nome_do_personagem = $_POST['nome_personagem'];
$senha = $_POST['senha1'];
$resenha = $_POST['senha2'];
$email = $_POST['emails'];
$reemail = $_POST['emails2'];
$---o = $_POST['---o'];
 
// Verifica se a conta ja existe
$aulogin = new DB($db_host, $db_user, $db_pwd, $AUlogin_db, $pconnect);
$query = "
SELECT userid 
FROM member 
WHERE userid = '$login'
";
$check = $aulogin->query($query);
$count = $aulogin->num_rows($check);
 
if ($count >= 1) {
echo "<script>alert('Login ja cadastrado.');
location='javascript:history.go(-1)'</script>";
        exit;
};
 
// Verifica o nome do personagem
$query = "
SELECT usernick 
FROM member 
WHERE usernick = '$nome_do_personagem'
";
$check = $aulogin->query($query);
$count = $aulogin->num_rows($check);
 
if ($count >= 1) {
echo "<script>alert('Nome do personagem ja cadastrado.');
  location='javascript:history.go(-1)'</script>";
        exit;
};
Sou novo no assunto e no Fórum, desculpe qualquer erro no Post. Agradeco desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que diabos é isso?

$---o = $_POST['---o'];

Enfim, você pode usar algo assim:

	/**
	* urlizer()
	* Transforma uma string em url-friendly.
	* @author Maykel Esser
	*/
	function urlizer($alias) {
		$table = array(
				'Š'=>'S', 'š'=>'s', 'Đ'=>'Dj', 'đ'=>'dj', 'Ž'=>'Z', 'ž'=>'z', 'Č'=>'C', 'č'=>'c', 'Ć'=>'C', 'ć'=>'c',
				'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
				'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O',
				'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss',
				'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c', 'è'=>'e', 'é'=>'e',
				'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o',
				'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b',
				'ÿ'=>'y', 'Ŕ'=>'R', 'ŕ'=>'r', '/' => '-', ' ' => '-'
		);
		$stripped = preg_replace(array('/\s{2,}/', '/[\t\n]/'), ' ', $alias);
		return strtolower(strtr($alias, $table));
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta, então, eu peguei o jogo assim, ja estava com esse PHP e ainda não tinha mexido nele, tem algumas coisas que desconheco, sou novo nisso.

 

E como faço pra essa função reconhecer que não quero tais caracteres no campo Nome do personagem?

 

Não quero nenhuma caracter especial nesse nome, tipo !@#$%¨&*() e outros, somentes a-z.

Não precisa nem substituir os caracteres como você fez, só negar a escrita de qualquer outro caracteres que não seja letra a-z.
<?php 
include("valida_captcha.php");
include('include/global.php');
//Recebe valores da register
$nome = $_POST['nome'];
$login  = $_POST['user'];
$nome_do_personagem = $_POST['nome_personagem'];
$senha = $_POST['senha1'];
$resenha = $_POST['senha2'];
$email = $_POST['emails'];
$reemail = $_POST['emails2'];
$---o = $_POST['---o'];
 
/**
    * urlizer()
    * Transforma uma string em url-friendly.
    * @author Maykel Esser
    */
function urlizer($alias) {
$table = array(
'Š'=>'S', 'š'=>'s', 'Đ'=>'Dj', 'đ'=>'dj', 'Ž'=>'Z', 'ž'=>'z', 'Č'=>'C', 'č'=>'c', 'Ć'=>'C', 'ć'=>'c',
'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O',
'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss',
'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c', 'è'=>'e', 'é'=>'e',
'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o',
'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b',
'ÿ'=>'y', 'Ŕ'=>'R', 'ŕ'=>'r', '/' => '-', ' ' => '-'
);
$stripped = preg_replace(array('/\s{2,}/', '/[\t\n]/'), ' ', $alias);
return strtolower(strtr($alias, $table));
}
 
// Verifica se a conta ja existe
$aulogin = new DB($db_host, $db_user, $db_pwd, $AUlogin_db, $pconnect);
$query = "
SELECT userid 
FROM member 
WHERE userid = '$login'
";
$check = $aulogin->query($query);
$count = $aulogin->num_rows($check);

e sobre o

 

$---o = $_POST['---o'];

a palavra está censurada aqui no fórum, é tipo Masculo ou Feminino...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta ITLPPS.

 

Como faço o PHP reconhecer que quero que o campo nome_do_personagem só possua a-z com esse seu código ?

 

Uso qual função?

 

E posso utilizar tal função em qualquer linha do PHP?

 

Eu achei algumas funções que poderia utilizar, só não sei como identificar que quero a-z no nome do personagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que isso resolva!

<?php
if(! ereg("^([a-z,A-Z]+)", $nome_do_personagem ) ) {
    echo "Caracteres Inválidos no campo";
}
?>

Não manjo dos PHP :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que isso resolva!

<?php
if(! ereg("^([a-z,A-Z]+)", $nome_do_personagem ) ) {
    echo "Caracteres Inválidos no campo";
}
?>

Não manjo dos PHP :lol:

 

Se não manja...

 

http://php.net/manual/en/function.ereg.php

Warning

This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.