Ir para conteúdo

Arquivado

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

Marlon Souza

Primeira Letra de Cada Palavra em Maiusculo

Recommended Posts

gostaria de saber se tem como fazer isso pegar uma variavel que é toda minuscula e/ou maiuscula, e transformar cada primeir letra da sentença seja maiusculo e as outras minusculas.

assim

minha variavel inicial é

 

jab iausgf ap fuiga puioagf auga fuasg fspaiufgs apfiugas pfiugfa

 

ou

 

JAB IAUSGF AP FUIGA PUIOAGF AUGA FUASG FSPAIUFGS APFIUGAS PFIUGFA

 

transformar em

 

Jab Iausgf Ap Fuiga Puioagf Auga Fuasg Fspaiufgs Apfiugas Pfiugfa

 

 

o codigo fonte ta aqui

$teste  = "abcd efgh i";
echo "$teste<br />
<br />";

echo ucfirst(strtoupper($teste));
echo "<br />";

echo $string = ucwords(strtolower($teste));
echo "<br />";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok todas as palavras estao em maiusculo, achei um script em php que segue abaixo

 

$loc = setlocale(LC_CTYPE, 'pt_BR');

$frase = "JAB IAUSGF AP FUIGA PUIOAGF AUGA FUASG FSPAIUFGS APFIUGAS PFIUGFA, a";

$palavras = str_word_count($frase, 1);
$count_palavras = str_word_count($frase);

for($i=0; $i < $count_palavras; $i++){

	$palavra = (strlen($palavras[$i]) > 3) ? (ucwords(strtolower($palavras[$i]))) : (strtolower($palavras[$i]));

	$nova_frase = ($i < $count_palavras) ? $palavra." " : $palavra;

	print $nova_frase;

}

so que temos em nosssa amada lingua, os amados ARTIGOS, no codigo acima se alterar a quantidade do trecho do codigo:

 

$palavra = (strlen($palavras[$i]) > 3)

 

para

 

$palavra = (strlen($palavras[$i]) > 1)

 

toda palavra que estiver com quantidade maior que 1 vai ser maiuscula, no caso do codigo eu coloquei 3 devido aos plurais, agora temos o artigo simples (a,e,i,o,u) e agora??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Renan, se usar somente este codigo vai ficar somente a primeira letra da sentença.

 

Eu quero que cada primeira letra das palavras da sentença sejam maiusculas, motivo: Titulo de produto no E-commerce.

temos um webserver onde o cadastro esta totalmente divergente, com titulos em maiusculo, minusculo, e ai vai.

 

 

Pra que isso tudo meu fio? http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif

$teste  = "abcd efgh i";
$teste = ucwords(strtolower($teste));

Compartilhar este post


Link para o post
Compartilhar em outros sites

só usar <font style="text-transform:capitalize">

 

 

toas em M

 

use strtoupper()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Jonata, testei o primeiro exemplo, beleza, mas o segundo não entendi , ficaria assim então ?

 

<p><font face="Arial" size="2"><b>Rg:<input name="rg" type="text" id="rg" size="4" maxlength="6">  

Nome:<input name="nome" type="text" id="nome" size="60"maxlength="100" font style="text-transform:strtoupper()"></b></font></p>

 

???????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem , mas desculpe minha ignorância, mas como é que eu faço p/ adaptar isso no meu códido ? Ou seja , onde digito isso ?

 

Este é meu arquivo cadastrar.php, em qual linha devo inserir o código ?

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Documentos</title>
<link rel="stylesheet" type="text/css" href="estilo.css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>
<body>
<div id="wrapper">
<div id="header">
<img src="bannerformulario.png" width="630" height="100" />
</div>
<div id="centercolumn">
</div>
<div id="rightcolumn">

<td width="96%"><form name="form1" method="post" action="inserir.php">

<p><font face="Arial" size="2"><b>Incrição:<input name="incricao" type="text" id="incricao" size="4" maxlength="6">  
Nome:<input name="nome" type="text" id="nome" size="60"maxlength="100"></b></font></p>

<p><font face="Arial" size="2"><b>Data de Nasc.:<input name="data_nascimento" type="text" id="data_nascimento" size="8">     
RG:<input name="rg" type="text" id="rg" size="11"maxlength="13">     
Órgão Emissor:<input name="orgao_emissor" type="text" id="orgao_emissor" size="5"maxlength="6"> </b></font></p>


<p><font face="Arial" size="2"><b>Observações:<input name="observacoes" type="text" id="observacoes" size="72"maxlength="100"></b></font></p>
<hr color="#B0B0B0">
<table>
<td><input type="submit" name="Submit" value="cadastrar">
</td>
<td width="13%"> </td>
</table>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você digita isso no lugar onde quiser, você quer transformar uma variável e depois imprimir, então ponha no local de impressão por exemplo, se quer usar mais vezes só guarde o valor alterado numa variável em qualquer posição antes de usar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$teste = "abcd efgh i";
$teste = ucwords(strtolower($teste));

 

É isso que você deve usar meu fio! KKKK è só testar. Essa função modifica todas as palavras para minusculo e depois a primeira letra de cada palavra para maiúsculo. Ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 23/10/2014 at 08:06, GuiFerreira disse:

$teste = "abcd efgh i";
$teste = ucwords(strtolower($teste));

 

É isso que você deve usar meu fio! KKKK è só testar. Essa função modifica todas as palavras para minusculo e depois a primeira letra de cada palavra para maiúsculo. Ok?

Navegando para lembrar o uso desta formatação de strings, me deparei com esse código que realmente era o que eu queria e deveria ter posto fim em toda essa longa discussão. Pois é tudo muito fácil e muito simples! Com o uso da ucwords e strtolower.

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 minutos atrás, gabrieldarezzo disse:

pra q desenterrar um topico de 2008/20014?

Desenterrar? A minha dúvida está sanada e foi aplicada até. Apenas comentei, um tópico que não precisava de rodeios depois da resposta do Gui. E quando sou notificado de algo que me incomoda, ignoro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é antigo pra cacete mas ja que voltou a tona só quero lembrar que a solução tá algo incompleta já que vai colocar tudo com inicial maiúscula incluindo artigos a, o, as, os e preposição de, da, das, do, dos e etc o que podemos resolver assim, por isso que foi sugerido analisar palavra por palavra e só maiucular as palavras maisuculaveis... é só pra ficar de referencia futura pode ser que ajuda alguem hehehe

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.