PHP é à quinta-feira - Começar a programar
Manipulação de Strings
Ora vivam. !!! Prontos para mais uma quinta-feira do PHP? Óptimo.
Hoje a rubrica vai incidir sobre a manipulação de strings. Para quem não sabe, uma string é um conjunto de caracteres (ex: peopleware é uma string com 9 caracteres ). O PHP possui variadíssimas funções para tratamento de Strings, podem por exemplo consultar a documentação existente no site php na parte documentação e procurar por Strings functions .

Bem vamos ao que interessa. Depois da parte teórica, o que é mesmo bom é um exemplo para vermos isto a funcionar. Para o nosso exemplo escolhi 2 palavras e uma frase.
As palavras são: peopleware e bog.
A frase é “O pplware é um blog muito fixe”.
As funções que vamos usar são as seguintes (não se esqueçam que existem muitas mais):
————————————————————————————-
:: Comparação de Strings ::
int strcmp ( string $str1, string $str2 )
- Se as palavras forem iguais devolve 0. A comparação é case sensitive
————————————————————————————-
:: Tamanho de uma String ::
int strlen ( string $string )
- Se a string estiver vazia devolve 0
————————————————————————————-
:: Converter para Maiúsculas ::
string strtoupper ($string )
————————————————————————————-
:: Substituir na frase uma palavra por outra ::
mixed str_replace ( mixed $search, mixed $replace, mixed $subject [, int &$count] )
————————————————————————————-
Segue o nosso exemplo prático:
<?
echo “<h1>PHP é as quintas</h1>”;
$string1 = “peopleware”;
$string2 = “blog”;
$frase = “O pplware é um blog muito fixe”;
echo “<b>Palavra 1</b> -> $string1 <br>”;
echo “<b>Palavra 2</b> -> $string2 <br>”;
echo “<b>Frase </b> -> $frase <br><br>”;
#################
# Comparação de Strings
#################
echo “<b>Comparar Strings</b><br>”;
if(strcmp($string1, $string2) == 0)
echo “As palavras são iguais”;
else
echo “As palavras são diferentes”;
echo “<br><br>”;
#################
# Contar letras
#################
echo “<b>Numero de letras</b><br>”;
$nletras_p1=strlen($string1);
$nletras_p2=strlen($string2);
echo “Palavra1 –> $nletras_p1 letras <br>”;
echo “Palavra2 –> $nletras_p2 letras <br><br>”;
#################
# Converter para Maiúsculas
#################
echo “<b>Maiúsculas</b><br>”;
echo(strtoupper($string1). “<br>”);
echo(strtoupper($string2)); echo “<br><br>”;
#################
# Substituir “fixe” por “interessante” na frase
#################
echo “<b>Substituir ‘fixe’ por ‘interessante’ na string3 </b><br>”;
echo(str_replace(”fixe”, “interessante”, $frase));
?>
RESULTADO:
Por hoje está tudo. Já sabem, se quiserem enviar os vossos programas podem fazer-lo para pedrompinto at gmail dot com.
Portem-se bem !!!!
Arquivado na categoria: Tutoriais
7 comentários a “PHP é à quinta-feira - Começar a programar”
Deixe o seu comentário
Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste weblog ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste weblog reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação de seu autor (nome completo e endereço válido de email) também poderão ser excluídos.









22 de Novembro de 2007 às 6:03 pm
E não há uma maneira de verificar se existe uma palavra numa frase?
Verificar se na $frase existe “fixe”…
Em JavaScript eu sei… e em PHP?
22 de Novembro de 2007 às 6:23 pm
Boas parabéns pela rubrica.
Só uma coisa “(ex: peoplware(…)”, não seria peopleware???
22 de Novembro de 2007 às 6:34 pm
@ Nuno Peralta
strstr()
strpos()
ereg()
etc etc etc
–
De referir que como PHP não usa pointers para as strings (como em C por exemplo) é possivel comparar duas strings com os operadores “normais”, == e !=.
–
Agora relativamente ao artigo, tal como muita gente já disse eu tambem acho que para uma semana é muito pouco.
Tambem acho que se é “começar a programar” que se devia começar pelas bases e não logo manipulação de strings ou manipulação de datas ou whatever se depois a pessoa não sabe fazer condições, por exemplo. Se quiseres continuar por aí acho que é mais uns code snippets e sua explicação.
CoolMaster
22 de Novembro de 2007 às 7:13 pm
És um bixo!!!=)
22 de Novembro de 2007 às 10:06 pm
@nrocha
thanks =P
strstr() não é o que eu quero. vou agora experimentar com o strpos(), parece ser esse
obrigado
27 de Julho de 2008 às 10:42 pm
Nuno Peralta
usa eregi()
29 de Julho de 2008 às 5:28 am
Nuno Peralta
dá uma olhada no post do PHPzando
http://phpzando.barrabravas.net/?p=13
abraço