Cadena de texto dentro de otra
Muchas veces en la labor de programar nuestro sitio web, hemos deseado comprobar
la existencia de una cadena dentro de otra, pues puede sernos útil para infinidad de cosas. PHP
, en relación a esto, nos ofrece dos funciones, llamadas ereg() y eregi().
El funcionamiento de estas dos funciones es similar, recibiendo ambas dos parámetros
obligatorios y uno opcional. El primero, corresponde a la cadena que deseamos buscar y el segundo, como
es de suponer, corresponde a la cadena en la que buscaremos el texto deseado. El tercer parámetro,
de tipo array, puede almacenar las diferentes partes en las que se puede dividir la cadena a buscar.
(Si, por ejemplo, buscamos una dirección de email, el tercer parámetro puede servirnos para almacenar en
cada elemento del array un dato diferente: el usuario, el servidor, el dominio...).
Pero pongamos un ejemplo sencillo. Imaginemos que deseamos buscar la palabra
php en la cadena Me encanta el lenguaje php. Deberemos escribir lo siguiente:
$cadena_original="Me encanta el lenguaje php";
ereg("php",$cadena_original);
|
Si la función encuentra la primera cadena dentro de la segunda, el resultado que
se devuelve es true. En caso contrario, devolverá false. Por lo tanto,
con una sentencia if podremos hacer una acción u otra según hayamos encontrado o no la susodicha
cadena php. Es decir:
$cadena_original="Me encanta el lenguaje php";
if(ereg("php",$cadena_original)) echo "Cadena encontrada";
else echo "Cadena No Encontrada";
|
La función ereg() distingue entre mayúsculas y minúsculas. Por ello, para
buscar una cadena dentro de otra sin hacer ningún tipo de distinción, deberemos usar
eregi(). De nuevo, vamos al ejemplo:
$cadena_original="Me encanta el lenguaje PHP";
ereg("php",$cadena_original); //devuelve false; no lo encuentra
eregi("php",$cadena_original); //devuelve true; sí lo encuentra
|
|