Ir para conteúdo
Fórum Script Brasil
  • 0

Função Altaebaixa


misterviralata

Pergunta

Ola amigos!

Novamente conto com a ajuda de vocês para solucionar mais um problema.

o script abaixo faz algo muito legal, quando o usuario posta o seu nome exemplo Claudenir da Silva, não importa se ele escreveu CLAUDENIR da Silva ou Claudenir da SIlva, no banco só vai entrar com as primeiras letras em Maiusculo tipo Claudenir da Silva legal né!

O problema do script para mim, é que quando o usuario digita Nova Hortolândia II no banco entra assim Nova Hortolândia Ii, ou quando digita leonardo IV no banco entra Leonardo Iv

Será que existe alguma de corrigir isto?

//inicia script

?>

function altaebaixa($umtexto) {

$troca = strtolower($umtexto);

$troca = ucwords($troca);

$troca = trocaini($troca, " E ", " e ");

$troca = trocaini($troca, " De ", " de ");

$troca = trocaini($troca, " Da ", " da ");

$troca = trocaini($troca, " Do ", " do ");

$troca = trocaini($troca, " Das ", " das ");

$troca = trocaini($troca, " Dos ", " dos ");

$altabaixa = $troca;

return $altabaixa;

}

/* função auxiliar para a função altaebaixa */

function trocaini($wStr,$w1,$w2) {

$wde = 1;

$para=0;

while($para<1) {

$wpos = strpos($wStr, $w1, $wde);

if ($wpos > 0) {

$wStr = str_replace($w1, $w2, $wStr);

$wde = $wpos+1;

} else {

$para=2;

}

}

$trocou = $wStr;

return $trocou;

}

$novonome = altaebaixa($Nome);

echo" $novonome ";

exit;

?>

//fim do scritp

Obrigado pessoal!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ola amigos!

Depois de algum tempo encontrei a solução para o problema, encontrei uma função que troca palavras.

Com a função altaebaixa a Primeira letra ficava em maiusculo, só que quando o usuario digitava Hortolândia II no banco entrava Hortolândia Ii.

Com uma função que traca palavras o problema foi corrigido e o script ficou assim:

<php

$nome = $_POST['Escolla'];

//#########inicio da função altaebaixa #######

function altaebaixa($umtexto) {

$troca = strtolower($umtexto);

$troca = ucwords($troca);

$troca = trocaini($troca, " E ", " e ");

$troca = trocaini($troca, " De ", " de ");

$troca = trocaini($troca, " Da ", " da ");

$troca = trocaini($troca, " Do ", " do ");

$troca = trocaini($troca, " Das ", " das ");

$troca = trocaini($troca, " Dos ", " dos ");

$troca = trocaini($troca, " jd ", " Jd ");

$troca = trocaini($troca, " são ", " São ");

$troca = trocaini($troca, " porque ", " porque ");

$altabaixa = $troca;

return $altabaixa;

}

/* função auxiliar para a função altaebaixa */

function trocaini($wStr,$w1,$w2) {

$wde = 1;

$para=0;

while($para<1) {

$wpos = strpos($wStr, $w1, $wde);

if ($wpos > 0) {

$wStr = str_replace($w1, $w2, $wStr);

$wde = $wpos+1;

} else {

$para=2;

}

}

$trocou = $wStr;

return $trocou;

}

/* variavel $mensagem = altaebaixa($nome) tem o valor do nome enviado

com a modificação de Primeira letra ser em caixa alta*/

$mensagem = altaebaixa($nome);

//###############fim da função altaebaixa #############

//#########################função troca palavra ####################

function filtro($novonom){

/* palavra substituida pelo valor da variavel */$erro = "troca palavra!";

$erros = "II";

$erro3 = "III";

$erro4 = "IV";

$erro6 = "VI";

$erro7 = "VII";

$erro8 = "VIII";

$novonom = eregi_replace("Ii",$erros,$novonom);

$novonom = eregi_replace("Iii",$erro3,$novonom);

$novonom = eregi_replace("Iv",$erro4,$novonom);

$novonom = eregi_replace("Vi",$erro6,$novonom);

$novonom = eregi_replace("Vii",$erro7,$novonom);

$novonom = eregi_replace("Viii",$erro8,$novonom);

return $novonom;

}

$novonom = "$mensagem";

$novonome = filtro($novonom);

echo "<p>$novonome";

//########################### FIM DA FUNÇÃO TROCA PALAVRA ###########

?>

Obrigado aos amigos que me ajudaram e espero que esta função possa ajudar alguém.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...