Ir para conteúdo

Arquivado

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

webruno

[Resolvido] letra maiuscula e dividir a frase

Recommended Posts

E ai, galera.

 

Em 1º lugar queria agradecer vocês que ja são fera na linguagem e que vivem no fórum ajudando a gelera, vocês tem tirado muitas dúvidas minha. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

E a dúvida de hoje é.... hehehe

 

Tenho um formulário onde o usuário irá digitar o nome e sobrenome em um campo só. Eu queria que o nome digitado fosse inserido dessa maneira:

 

Maria das Graças dos Santos e Silva

 

Eu achei o seguinte tópico em asp que explica como fazer isso:

 

ASP

[*]<%

 

[*]'Tudo Maiúsculo

 

[*]Usuario UCase(Request.form("Usuario")

 

[*]

 

[*]'Tudo Minúsculo

 

[*]Usuario LCase(Request.form("Usuario")

 

[*]

 

[*]'Inicias do nome em maiúsculas

 

[*]Function Maiuscula(texto)

 

[*]Dim Palavra, Posicaoinicial, Posicaofinal

 

[*]Dim Resultado

 

[*]Posicaoinicial = 1

 

[*]texto = texto & " "

 

[*]Do Until InStr(Posicaoinicial, texto, " "= 0

 

[*]Posicaofinal InStr(Posicaoinicial, texto, " ")

 

[*]Palavra Mid(texto, Posicaoinicial, Posicaofinal - Posicaoinicial)

 

[*]Posicaoinicial = Posicaofinal + 1

 

[*]

 

[*]If Palavra <> "de" And Palavra <> "di" And Palavra <> "e" And Palavra <> "da" And Palavra <> "das" And Palavra <> "do" And Palavra <> "dos" Then

 

[*] Palavra UCase(Left(Palavra, 1)) & LCase(Mid(Palavra, 2))

 

[*]End If

 

[*]

 

[*]Resultado = Resultado & " " & Palavra

 

[*]Loop

 

[*]Maiuscula Trim(Resultado)

 

[*]End Function

 

[*]

 

[*]'Para usar:

 

[*]Usuario Maiuscula(Request.form("Usuario"))

 

[*]%>

 

o endereço é http://forum.imasters.com.br/index.php?sho...01&hl=maiuscula

 

 

Porém eu não entendo nada de nada de ASP e precisaria incrementar uma coisa no código, que seria repartir o nome até o primeiro espaço, que seria o nome, e depois do primeiro espaço que seria o sobrenome. Quero fazer isso para inserir no BD em campos separados.

 

Tem como fazer isso? Alguem pode me dar uma mão?

 

Desde ja agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que isso pode te ajudar ;)

 

PHP

[*]<?PHP

[*]// felipe rezende (felipe_rezende@msn.com)

[*]

[*]// recebe o nome

[*]$nome = "Maria das Graças dos Santos e Silva";

[*]

[*]// quebra nomes em partes 

[*]$array = explode(" ",$nome);

[*]

[*]// imprime primeiro nome

[*]echo "Primeiro nome: ".$array[0]."<br>";

[*]

[*]// laço for que junta o resto do nome em uma varivel

[*]for ($i = 1; $i < count($array); $i++) {

[*] $sobrenome .= $array[$i]." ";

[*]}

[*]

[*]// imprime sobrenome

[*]echo "Sobrenome: ".$sobrenome;

[*]

[*]/*

[*]* O script irá retornar isso...

[*]* Primeiro nome: Maria

[*]* Sobrenome: das Graças dos Santos e Silva 

[*]*/

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal Felipe, vou testar aqui, o brigado...

 

Na verdade o nome "Maria das Graças dos Santos e Silva", eu usei de exemplo pra poder mostrar as conversões de minusculo para maiusculo. No caso, eu iria cadastrar um nome por exemplo:

 

joão da silva -> no banco de dados ficaria assim:

 

Nome | Sobrenome |

----------------------------------------

João | da Silva |

 

Entendeu a conversão para maiuscula?

 

Mas se tudo der certo com esse código que você me passou, a primeira parte de dividir o nome em Nome e Sobrenome, ja foi concluida.

 

Obrigado, e se puder me dar só mais essa mãozinha eu agradeço http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops.. havia me esquecido das letras maiusculas!

acho que agora sim...

 

PHP

[*]<?PHP

[*]// felipe rezende (felipe_rezende@msn.com)

[*]

[*]// recebe o nome

[*]$nome = "felipe de rezende vasques";

[*]

[*]// quebra nomes em partes 

[*]$array = explode(" ",$nome);

[*]

[*]// imprime primeiro nome

[*]echo "Primeiro nome: ".ucfirst($array[0])."<br>";

[*]

[*]// laço for que junta o resto do nome em uma varivel

[*]for ($i = 1; $i < count($array); $i++) {

[*] // verifica se ha 'de,da,dos,e,das' no sobrenome, voce pode

[*] // adicionar mais condicoes aqui

[*] if ($array[$i] != "de" AND $array[$i] != "da" AND $array[$i] != "dos" AND $array[$i] != "e"

[*] AND $array[$i] != "das") {

[*] $sobrenome .= ucfirst($array[$i])." ";

[*] } else {

[*] $sobrenome .= $array[$i]." ";

[*] }

[*]}

[*]

[*]// imprime sobrenome

[*]echo "Sobrenome: ".$sobrenome;

[*]

[*]/*

[*]* O script irá retornar isso...

[*]* Primeiro nome: Maria

[*]* Sobrenome: das Graças dos Santos e Silva 

[*]*/

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm,Por exemplo eu queria que este mesmo script ai não quebrasse entende? para eu poder imprimir tudo no mesmo local...Mas eu queria que somento o of fosse minusculo entende?EXEMPLO: (se a pessoa digitar sorcerer of oteods)Ficaria Sorcerer of Oteodse eu estou usando stralower então fica assim oh:Sorcerer of oteodsSó a primeira :/Alguem pode me dar uma "luz"?valeu

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.