lunes, 28 de julio de 2014

Procesamiento de las cadenas de caracteres en PHP - 1 de 2



1. Funciones de manipulación de cadenas

En esta parte del capítulo se tratan todas las funciones PHP que permiten manipular las cadenas de caracteres.
  • a. strlen()

La función strlen() devuelve la longitud de una cadena de caracteres.

Por ejemplo:

<?php
$nombre = "Roberto";
$longitud = strlen($nombre);
echo "La longitud de la cadena es:".$longitud;
?>

Da como resultado:

La longitud de la cadena es: 6

Por tanto, su sintaxis es la siguiente:

$longitud= strlen($cadena);

Otro ejemplo:

<?php
$nombre = " Hola, Roberto ";
$longitud = strlen($nombre);
echo "La longitud de la cadena es:".$longitud;
?>

Da como resultado:

La longitud de la cadena es: 18

También se cuentan los espacios.

  • b. substr()

La función substr() devuelve un trozo de la cadena partiendo de una posición y con una longitud dada.

Por ejemplo:

<?php
$nombre = "Roberto";
$trozo = substr($nombre,2,3);
echo "El trozo de la cadena es:".$trozo;
?>

Da como resultado:

El trozo de la cadena es: ber

La posición del inicio comienza desde 0.

No necesita indicar la longitud. La función devuelve los caracteres hasta el final de la cadena de caracteres.

Por tanto, su sintaxis es:

$trozo_cadena =
substr($cadena,$posicion_inicio,longitud_cadena);

Otro ejemplo:

<?php
$nombre = "Hola, me llamo Roberto";
$trozo = substr($nombre,15);
echo "El trozo de la cadena es:".$trozo;
?>

Da como resultado:

El trozo de la cadena es: Roberto

Al no especificar el último parámetro, la función toma la cadena de caracteres hasta el final.

  • c. strstr()

La función strstr() devuelve un trozo de la cadena desde un carácter hasta el final de la cadena.

Por ejemplo:

<?php
$email = "Roberto.lopez@españa.es";
$trozo = strstr($email,’@’);
echo "El trozo de la cadena es:".$trozo;
?>

Da como resultado:

El trozo de la cadena es: @españa.es

La función devuelve la cadena de caracteres, que va del carácter @ hasta el final de la cadena.

Por tanto, su sintaxis es:

$trozo_cadena = strstr($cadena,$caracter_busqueda);
La función devuelve false si no se encuentra ninguna cadena de caracteres.

Otro ejemplo:

<?php
$email = "Roberto.lopez@españa.es";
$trozo = strstr($email,’.’);
echo "El trozo de la cadena es:".$trozo;
?>

Da como resultado:

El trozo de la cadena es: .lopez@españa.es

La función devuelve un trozo de cadena desde el primer carácter encontrado.

  • d. str_replace()

La función str_replace() permite sustituir, dentro de la cadena de caracteres principal, un trozo de una cadena por otra.

Por ejemplo:

<?php
$email = "Roberto.lopez@españa.es";
$nuevo_nombre = str_replace(’españa’,’mexico’,$email);
echo "El nuevo nombre de la cadena es:".$nuevo_nombre;
?>

Da como resultado:

El nuevo nombre de la cadena es: Roberto.lopez@mexico.es

La sintaxis es:

$nueva_cadena = str_replace($cadena_buscada,
$cadena_que_sustituye ,$cadena_principal);

En el siguiente ejemplo, puede poner una tabla en lugar de la $cadena_buscada:

<?php
$tabla_cadena_buscada =
array("a","e","i","o","u","y","A","E","I","O","U","Y");
$email = "Roberto.lopez@españa.es";
$nuevo_nombre = str_replace($tabla_cadena_buscada,’’,$email);
echo "El nuevo nombre de la cadena quitando todas las vocales
es:" nuevo nombre;
?>

Da como resultado:

El nuevo nombre de la cadena quitando todas las vocales es: Rbrt.lpz@spñ.s

En este ejemplo, la función str_replace sustituye todas las vocales de la tabla por una cadena vacía.

  • e. trim()

La función trim() permite eliminar los espacios al principio y al final de la cadena.

Por ejemplo:

<?php
$email = " Roberto.lopez@españa.es ";
$longitud_nombre = strlen($email);//longitud de la cadena $nombre:27
$nuevo_nombre = trim($email);//suprimir los espacios
$longitud_nuevo_nombre = strlen($nuevo_nombre);
//longitud de la cadena $nombre:23
echo "El nuevo nombre de la cadena es:".$nuevo_nombre." con ".
$longitud_nuevo_nombre." caracteres";
?>

Da como resultado:

El nuevo nombre de la cadena es: Roberto.lopez@españa.es con 23 caracteres

Por tanto, su sintaxis es:

$nueva_cadena = trim($cadena);

Esta función elimina los espacios, las tabulaciones y los saltos de línea.

  • f. strtolower()

La función strtolower() permite convertir una cadena en minúsculas.

Por ejemplo:

<?php
$nombre = "ROBERTO";
$nombre = strtolower($nombre);
echo "El nombre de la cadena en minúsculas es:".$nombre;
?>

Da como resultado:

El nombre de la cadena en minúsculas es: roberto

Por tanto, su sintaxis es:

$cadena_minusculas = strtolower($cadena);

  • g. strtoupper()
La función strtoupper() permite convertir una cadena en mayúsculas.

Por ejemplo:

<?php
$nombre = "Juan";
$nombre = strtoupper($nombre);
echo "El nombre de la cadena en mayúsculas es:".$nombre;
?>

Da como resultado:

El nombre de la cadena en mayúsculas es: JUAN

Por tanto, su sintaxis es:

$cadena_mayusculas = strtoupper($cadena);

La función ucfirst() pone el primer carácter en mayúsculas. La función ucwords() pone la primera letra de cada palabra en mayúsculas.

  • h. strpos()

La función strpos() devuelve la posición de la primera aparición en una cadena de caracteres.

Por ejemplo:

<?php
$email = "Juan.lopez@españa.es";
$posicion = strpos($email,’@’);
echo "La posición de @ es:".$posicion;
?>

Da como resultado:

La posición de @ es:10

Por tanto, su sintaxis es:

$posicion = strpos($cadena,$ocurrencia_buscada);

La posición empieza desde 0. Así, la posición de j en la cadena $nombre es 0.

También hay otras funciones parecidas, que son:
  • strrpos(): devuelve la posición de la última aparición en una cadena de caracteres.
  • stripos(): devuelve la posición de la primera aparición en una cadena de caracteres sin tener en cuenta las mayúsculas y minúsculas.

Otro ejemplo:

<?php
$email = "Juan.lopez@españa.es";
$posicion = strrpos($email,’f’);
echo "La última posición de la letra ñ es:".$posicion;
?>

Da como resultado:

La última posición de la letra ñ es:15

  • i. str_word_count()

La función str_word_count() devuelve el número de palabras que están dentro de la cadena de caracteres.

Por ejemplo:

<?php
$frase = "Hola, hace buen tiempo";
$numero = str_word_count($frase);
echo "El número de palabras en la cadena es:".$numero;
?>

Da como resultado:

El número de palabras en la cadena es: 4

Por tanto, su sintaxis es:

$posicion = str_word_count($cadena);

Esta función puede utilizar un argumento opcional, que es el formato. Si vale 0, la función devuelve el número de palabras como antes. Si vale 1, la función devuelve una tabla que contiene las palabras de la cadena de caracteres.

Por ejemplo:

<?php
$frase = "Hola, hace buen tiempo";
$tabla = str_word_count($frase,1);
print_r($tabla);
?>

Da como resultado:

Array ( [0] => Hola [1] => hace [2] => buen [3] => tiempo)

Si este parámetro vale 2, la función devuelve una tabla que contiene las palabras de la cadena de caracteres y la posición de la primera letra de la palabra clave.

Por ejemplo:

<?php
$frase = "Hola, hace buen tiempo";
$tabla = str_word_count($frase,2);
print_r($tabla);
?>

Da como resultado:

Array ( [0] => Hola [6] => hace [10] => buen [14] => tiempo )

En esta función, la noción de la palabra depende de la localización actual. Así, la coma no se considera como una palabra.

  • j. str_pad()

La función str_pad() permite completar una cadena hasta un tamaño dado.

Por ejemplo:

<?php
$cadena_inicio = "Hola";
echo str_pad($cadena_inicio, 10, ’!’);
?>

Da como resultado:

Hola!!

La función toma la cadena de origen "Hola" y la completa con la cadena "!" hasta un total de 10 caracteres.

Por tanto, su sintaxis es:

str_pad($cadena_origen, $numero_carácter_total,
$cadena_para_completar);

El código que muestra los 10 espacios en HTML, es:

<?php
echo str_pad(’’, 60, ’&nbsp;’);
?>



Espero haber ayudado en algo. Hasta la próxima oportunidad!







No hay comentarios:

Publicar un comentario en la entrada