Introducción:
Como ya se ha dicho, en PHP, además de las funciones creadas por el usuario, existen múltiples funciones para realizar distintas tareas. Todas ellas están ya predefinidas, por lo que lo único que tenemos que hacer es llamarlas, pasarles los parámetros necesarios, y ellas realizan la tarea.
Para poder usarlas debemos conocer, el nombre de la función, los parámetros que debemos pasar, y por supuesto saber que tarea realizan.
Ya hemos visto algunas de estas funciones, concretamente las referidas a el tratamiento de arrays Tema 6.3. Trabajar con arrays. por lo que no las volveremos a repetir aquí. Sin embargo hay funciones que relacionan los arrays con cadenas de texto que sí las veremos.
Por supuesto, hay muchas más funciones predefinidas de las que vamos a incluir en este manual, aquí daremos sólo las mas usadas, o las que pueden sernos de más utilidad.
La totalidad de las funciones predefinidas que pueden usarse en PHP la podemos ver desde la página "php.net", sección "Referencia de funciones".. Desde ahi tienes distintos enlaces para ver las funciones predefinidas, agrupadas por categorías.
En esta primera página y en la siguiente de este tema veremos las funciones para cadenas de texto.
Contar caracteres de una cadena
Estas funciones, y las que veremos en los siguientes apartados, no alteran los argumentos que les pasamos, por lo que para obtener el resultado debemos guardarlas siempre en otra variable.
$resultado=nombreFuncion($argumentos);
strlen($texto);
Da como resultado el número de caracteres que tiene la cadena pasada en el argumento $texto.
chr(num);
En esta función pasamos como parámetro un número entre 0 y 255, y el resultado es caracter asignado a ese número en el código ASCII. ASCII es un código muy usado en programación, que asocia cada letra, signo o caracter con un número. Consta de 256 signos diferentes, si bien los 31 primeros no se corresponden con un carácter, sino con otras funciones tales como controles, escape, tabuladores, etc.
La lista completa del código ASCII puedes verla en caracteres ASCII para HTML
ord("caracter");
Es la función contraria a la anterior. pasamos como parámetro un caracter o signo, y la función nos devolverá el número en ASCII de ese carácter. Si pasamos como argumento más de un caracter o una cadena de texto, la función nos devolverá únicamente el código ASCII del primer carácter.
count_chars($texto,modo);
Esta función indica cuales son los caracteres en código ASCII que aparecen en el texto y/o cuantas veces aparece cada uno de ellos. En $texto pasamos como argumento la cadena a analizar, y en modo escribiremos un número del 0 al 4. Según el modo la función devolverá un array o una cadena. El comportamiento de los distintos modos es el siguiente.
- Modo 0: Devuelve un array asociativo con todos los caracteres del código ASCII. En la clave aparece el número del caracter en ASCII, y en el valor indica el número de veces que se repite ese caracter.
- Modo 1: Devuelve un array asociativo con únicamente los caracteres que aparecen en el texto. La clave nos da el número del carácter en ASCII, y el valor es el número de veces que se repite ese carácter.
- Modo 2: Devuelve un array asociativo con los caracteres del código ASCII que no aparecen en el texto. La clave es el número de carácter, y el valor es siempre igual a 0, ya que éste es el número de veces que aparecen.
- Modo 3: Devuelve una cadena de texto en la que aparecen los caracteres que contiene el texto. Estos aparecen una sola vez (aunque estén repetidos), y ordenados según el código ASCII.
- Modo 4: Devuelve una cadena de texto en la que aparecen los caracteres del código ASCII que no aparecen en el texto, ordenados según este código.
str_word_count($texto,modo);
Esta función diferencia las palabras del texto y permite hacer varias operaciones según el modo. En el argumento $texto, pasamos el texto a analizar, y en modo pondremos los números, 0, 1 ó 2. Dependiendo del modo la función dará los siguientes resultados:
- Modo 0: Devuelve el número de palabras que contiene el $texto.
- Modo 1: Devuelve un array indexado con todas las palabras que contiene el$texto.
- Modo 2: Devuelve un array asociativo donde la clave indica en qué número de caracter de la cadena comienza la palabra (empieza a contar desde 0), y el valor es la palabra en sí.
substr_count($texto,$subcadena);
Devuelve un número que indica las veces que una determinada $subcadena(carácter, palabra, etc.) aparece dentro de una cadena de texto $texto.
strpos($texto,"caracter");
Devuelve un número que indica la primera posición del "caracter" pasado en el segundo argumento, dentro de la cadena $texto pasado como primer argumento.
Si el carácter indicado en el segundo argumento no está en la cadena devolverá el valor boleano FALSE, representado por una cadena vacía.
Si en lugar de un carácter en el segundo argumento pasamos una cadena, comprobará si esta cadena (subcadena) está incluida en la cadena principal,y nos devolverá el número donde comienza la subcadena.
strrpos($texto,"caracter");
Funciona de forma análoga a la anterior, sólo que el número que devuelve es el de la última posición del "caracter" dentro de la cadena $texto.
stripos($texto,"caracter");
Funciona igual que la función strpos() pero sin tener en cuenta la diferencia entre mayúsculas y minúsculas.
strripos($texto,"caracter");
Funciona igual que la función strrpos() pero sin tener en cuenta la diferencia entre mayúsculas y minúsculas.
En la siguiente página de ejemplo se utilizan algunas funciones de las explicadas anteriormente:
Para saber cómo hemos hecho esta página puedes ver el código en el siguiente enlace: