|
Podrías utilizar expreciones regunales, claro que habria un tiempo de carga un poco mayor al que estás acostumbrado a recibir...
En PHP, cinco funciones utilizan expresiones regulares: ereg(), eregi(), ereg_replace(), eregi_replace() y split().
Con ereg y eregi puedes buscar coincidencias en una cadena. La mayor parte de las veces las utilizarás para validar datos:
$password = "foobar";
if (!eregi("^[[:alnum:]]{4, 6}$", $password))
echo "Contraseña con sintáxis incorrecta: Deben ser de cuatro a seis caracteres alfanuméricos.";
La siguiente expresión regular extrae el dominio de una URL:
$url = "http://www.htmlwizard.net";
$tld = ereg("([^.]*$)", $url, $regs);
echo $regs[1];
Todas las concordancias a las expresiones agrupadas por "()" son añadidas al array opcional [regs] pasado a la función.
ereg_replace() se utiliza para reemplazar concordancias con una expresión regular. Su utilización
es la siguiente:
$string = "foo-bar";
$string = ereg_replace("^[^-]*", "bar", $string);
// $string es ahora "bar-bar"
echo $string;
Esto sustituye cualquier cosa antes de "-" con "bar".
Existe una extensión muy util a esta funciona: los back-ticks.
Con esta funcionalidad puedes utilizar la concordancia encontrada en tu cadena de sustitución:
$string = "foo-bar";
$string = ereg_replace("(^[^-]*)", "1bar", $string);
// $string is now "foobar-bar"
echo $string;
Básicamente esto es lo mismo que usar la funcionalidad del array de ereg, pero en lugar de tener concordancias añadidas a un array, haces referencia a ellas con "1", "2", etc.
Con todo lo dicho tienes un buen punto de partida para trabajar con expresiones regulares.
|