Manexo de Cadeas
Dado o uso da linguaxe PHP o tratamento de cadeas é moi importante, existen bastantes funcións para o manexo de cadeas, a continuación explicaremos as máis usadas ademais das características principais do tipo de datos "cadea".
As Cadeas
Un valor "string" é unha serie de caracteres.
As cadeas de caracteres pódense especificar empregando un dos seguintes tipos de delimitadores:
Comiñas simples
A forma mais simple de especificar un string é rodeala de comiñas simples (o carácter ' ).
Para especificar una comiña sinxela nun string, precísase "escapala" cunha barra invertida (\). Para especificar unha barra invertida literal antes dunha comiña sinxela, ou ao final da cadea, débese de repetir do seguinte xeito (\\). Coas comiñas simples non se escapa ningún outro carácter.
Vexamos un exemplo:
<?php
echo 'esta é unha cadea simple';
echo '<br />';
// Imprime: Arnold dixo unha vez: "I'll be back"
echo 'Arnold dixo unha vez: "I\'ll be back"';
echo '<br />';
// Imprime: Eliminaches 'C:\*.*'?
echo 'Eliminaches \'C:\\*.*\'?';
echo '<br />';
// Imprime: Eliminaches C:\*.*?
echo 'Eliminaches C:\*.*?';
echo '<br />';
// Imprime: Aquí non vai \n unha nova liña
echo 'Aquí non vai \n unha nova liña';
echo '<br />';
// Imprime: As variables non se $expanden $tampoco
echo 'As variables non se $expanden $tampoco';
echo '<br />';
?>
Comiñas dobres
Se o valor string está rodeado de comiñas dobres ("), PHP interpretará más secuencias de escape para caracteres especiales:
- \n ---- Nova liña
- \r ---- Retorno de carro
- \t ---- Tabulación horizontal
- \v ---- Tabulación vertical
- \f ---- Alimentación de forma
- \\ ---- Barra invertida
- \$ ---- Signo de dólar
- \" ---- Comiña-dobre
Funcións para o manexo de cadeas
- strlen(cadea) -> Devólvenos o número de caracteres dunha cadea.
- explode(separador,cadea) -> Devolve un array que contén en cada posición do mesmo as partes da cadea separadas por separador.
- sprintf(cadea de formato, var1, var2...) -> Formatea unha cadea de texto do mesmo xeito que printf pero o resultado é devolto como unha cadea.
- substr(cadea, inicio, lonxitude) -> Devolve unha subcadena doutra, empezando por inicio e de lonxitude lonxitude.
- substr_count -> Conta o número de veces que aparece un string dentro de outro.
- trim(cadea) -> Elimina os espazos á esquerda e á dereita dunha cadea. Se queremos eliminar só os espazos da esquerda temos ltrim(cadea) e só os da dereita temos rtrim(cadea), neste último caso fai o mesmo a función chop.
- strpos(cadea1, cadea2) -> Busca a cadea2 dentro de cadea1 indicándonos a posición na que se atopa.
- str_replace(cadea1, cadea2, texto) -> Substitúe a cadea1 pola cadea2 no texto.
- strtoupper -> Pasa a maiúsculas todos os caracteres dun texto.
- strtolower -> Pasa a minúsculas todos os caracteres dun texto.
- ucwords -> A primeira letra de todas as palabras se pasarán a maiúsculas.
- strrev -> Pon o texto á inversa.
- preg_split -> Divide un string mediante una expresión regular, devolviendo un array.
Máis información sobre manexo de cadeas en PHP.
Vexamos un exemplo no que se empregarán moitas destas funcións:
<html>
<head>
<title>Exemplo de PHP</title>
</head>
<body>
<?php
echo strlen("12345"),"<br />";
echo '<hr />';
$palabras=split(" ","Isto é unha proba");
for($i=0;$i<count($palabras);$i++)
echo $palabras[$i],"<br />";
echo '<hr />';
//Os strings compórtanse como arrays de letras
$frase="Xoana ten un can";
for($i=0;$i<strlen($frase);$i++)
echo $frase[$i],"<br />";
echo '<hr />';
$resultado=sprintf("8x5 = %d <br />",8*5);
echo $resultado,"<br />";
echo '<hr />';
echo substr("Devolve unha subcadea doutra",9,3),"<br /><br />";
echo '<hr />';
if (chop("Cadea \n\n ") == "Cadea")
echo "As cadeas son Iguais<br /><br />";
echo '<hr />';
echo strpos("Busca a palabra dentro da frase", "palabra"),"<br /><br />";
echo '<hr />';
echo str_replace("verde","vermello","Un peixe de cor verde, como verde é o prao."),"<br />";
?>
</body>
</html>