Jump to content


©arlos_five

Member Since 25/12/2003
Offline Last Active 23/11/2008, 00:00
-----

Topics I've Started

Remover Multiplos Espaços Consecutivos No Php

23/08/2005, 23:05

Olá a todos, é primeira vez que estou postando.
Queria saber se existe uma ação no PHP para remover multiplos espaços consecutivos, por exemplo, o Dreamweaver não permite que crie vários espaços, mesmo pressionando a tecla SPACE.

Seria assim o caso: Pretendo criar um sistema de cadastro de clientes e o cliente acidentalmente digita dois espaços em branco em seu nome completo no formulário, dai ele clica em Enviar, e o PHP irá tratar a variável e remover o excesso de espaços, e enfim enviar pro MySQL.

Este é o formulário:
form_index.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Cadastro de Clientes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="recebe_form_index.php">
  <h1>Formul&aacute;rio - Cadastro de Clientes</h1>
  <p>Nome: 
    <input name="form_nome" type="text" id="form_nome" size="30" maxlength="80">
    <br>
    E-mail: 
    <input name="form_email" type="text" id="form_email" size="30" maxlength="80">
    <br>
    <br>
    <input type="submit" name="Submit" value="Enviar">
  </p>
</form>
<p>&nbsp;</p>
</body>
</html>

Me falaram que devo usar o TRIM, mas parece que não tem efeito.

recebe_form_index.php
<?php
$titulo = "Fazendo cadastro";
include("config.php");

$nome = $_POST['form_nome'];
$email = $_POST['form_email'];

//Retirando espaços
$nome = trim($nome);
$email = trim($email);
$erro = 0;

//Verificar se há email cadastrado no BD
$RsVerifica = mysql_query("SELECT * FROM tblcad WHERE email = '$email'");
$mnr = mysql_num_rows($RsVerifica);

if ($mnr != 0) {
echo '<center><font style="color:#FF0000">E-mail já cadastrado em nosso banco de dados!</font>';
$erro++;
}

//Se não encontrar @
if (!eregi("@", $email)) {
echo '<center><font style="color:#FF0000">E-mail incorreto!</font>';
$erro++;
}

//Encontrar números
if (ereg("[0-9\()-.,:;*&¬!?|+}{/]", $nome)) {
echo '<center>><font style="color:#FF0000">Nome incorreto!</font>';
$erro++;
}

//Verificar se campo nome foi setado
if (empty($nome)) {
echo '<center><font style="color:#FF0000">Campo nome em branco!</font>';
$erro++;
}

if ($erro == 0) {
//Inserir no banco de dados se tudo se tudo for OK
$RsInserir = mysql_query("INSERT INTO tblcad (nome, email) VALUES ('$nome', '$email')");
echo '<center>Cadastro efetuado com sucesso!<br><br>
<b>Nome:&nbsp;</b>'.$nome.'<br>
<b>Email&nbsp;</b>'.$email.'';
}

?>
<html>
<head>
<title><?php echo "$titulo"; ?></title>
</head>

<body>
</body>
</html>

O código não gera erro nenhum, mas na hora visualizar no phpMyAdmin o campo "nome" da tabela "tblcad" mostra o excesso de espaços.

O que falta no meu exemplo?
Agradeço a quem puder me ajudar.

IPB Skin By Virteq