Cadenas.php



MANEJO DE CADENAS
=========================================
Calculando la longitud de nuestra cadena
=========================================
La funciOn strlen nos facilita la longitud de una cadena de texto:
strlen (string)

<?php
$cadena = "hola como te va";
$longitud = strlen($cadena);
echo $longitud; // 15
$cadena = "hola como  te va"; // un espacio extra
$longitud = strlen($cadena);
echo $longitud; // 16
?>

===================================
Eliminando espacios
===================================
Puedes eliminar espacios en blanco al comienzo o final de la cadena con la funciOn trim, o solo al
principio de la cadena con la funciOn ltrim, o solamente al final con rtrim

estas funciones eliminan por defecto espacios en blanco, caracteres de nueva lInea (\n), tabuladores (\t)
asi como los valores ascii 0 (nul) 13 (retorno de carro, \r) y 11 (tabulaciOn vertical)

<?php
echo "<pre>";
$cadena = "\thola como te  va\n";   
echo $cadena;                      //    hola como te va
$sin_tab = ltrim($cadena, "\t");   
echo $sin_tab;                     //hola como te va


$trim_primera_letra = ltrim($cadena, "h");
echo $trim_primera_letra;          //ola como te va
echo "</pre>";

?>
===================================
MayUsculas y minUsculas
===================================
Podemos pasar nuestra cadena a todo mayusculas con strtoupper, o toda a minUsculas con strtolower. No convertirA
aquellas letras que no se correspondan al actual conjunto de caracteres locales

<?php
echo "<pre>";
$cadena = "hola como te  v&aacute;\n"; // hola como te vA
echo $cadena;
$may = strtoupper($cadena);       
echo $may ;                            // HOLA COMO TE V&AACUTE;
echo "</pre>";
?>

Adicionalmente, ucfirst convierte a mayUsculas el primer carActer de una cadena (si es alfabEtico) y ucwords
convierte a mayUsculas la primera letra de cada palabra en nuestra cadena.

======================================
subcadenas
======================================
Con substr podemos crear una subcadena partiendo de una cadena dada: substr ($cadena, n_inicio,n_largo); donde el
primer nUmero indica la posicion de $cadena donde empieza a contar la subcadena, y el segundo (opcional) la
longitud de la subcadena.

    * Si n_inicio es un número positivo, la subcadena empieza a contar desde el inicio de $cadena (de izquierda a derecha).
	El primer carActer de $cadena es 0.
    * Si n_inicio es un nUmero negativo, la subcadena empieza a contar desde el final de $cadena (de derecha a izquierda).
    * Si no se proporciona el valor opcional n_largo, la subcadena devuelta será desde n_inicio hasta el final de la subcadena.
    * Si se proporciona n_largo positivo, la subcadena contendrA como mAximo ese nUmero de caracteres desde n_inicio
    * Si se proporciona n_largo negativo, primero se calcula la subcadena y luego se resta a la subcadena n_largo caracteres


<?php
echo "<pre>";
$cadena = "123456789";

$trozo = substr($cadena, 0);
echo $trozo."\n";   // 123456789

$trozo = substr($cadena, 3);
echo $trozo."\n";   // 456789

$trozo = substr($cadena, -3);
echo $trozo."\n";   // 789

$trozo = substr($cadena, 3,3);
echo $trozo."\n";   // 456

$trozo = substr($cadena, 2,-3);
echo $trozo."\n";   // 3456

$trozo = substr($cadena, -6,-5);
echo $trozo."\n";   // 4
echo "</pre>";
?>

===================================================================================
Por Ultimo, con strpos localizamos el inicio de una subcadena dentro de una cadena:
===================================================================================
<?php
echo "<pre>";
$cadena = "blah@imaginary.com";
$subcadena = "@";

$inicio_dominio = strpos ($cadena, $subcadena);

echo $inicio_dominio; // 4
echo "<br>";
$dominio = substr ($cadena, ($inicio_dominio+1));
echo $dominio; // imaginary.com

echo "</pre>";
?>
===================================================================================
Cadenas tratadas como arrays
===================================================================================
Una caracterIstica interesante es que las cadenas pueden ser consideradas automAticamente como arrays,
y por lo tanto es una forma mas de acceder fAcilmente a un carActer determinado, o de manipular la cadena:
<?php

$cadena = "hola";
echo $cadena[0];  // imprime h

?>