Busco función en php...

Josepanaero

... q haga lo siguiente:

Tengo una cadena de caracteres y quiero q siempre q aparezcan dos o más caracteres iguales seguidos (caracteres q yo indique), esa función me los cambie por un único carácter. Ejemplos:

Imaginemos que el carácter q quiero q no se repita es "a":

"holaaaaaa" -> "hola"
"aaantonio" -> "antonio"
"aaaaaaaaamigggooo" -> "amigggooo"

He probado con
ereg_replace ("+[a]", "a", $texto);
pero me da error. No estoy demasiado puesto en expresiones regulares, así q por eso vengo aquí en busca de ayuda ^.

PD: Realmente el carácter q quiero cambiar no es una "a", sino un espacio, pero supongo q dará lo mismo.

EnZo

<?
echo ereg_replace ('a{2,}','a','holaaaaaaaa');
?>

prueba eso, si es un espacio sustituye las 'a' por espacios tal cual

Josepanaero

$texto = ereg_replace (' {2,}',' ',$texto);

Funciona a las mil maravillas :D Había estado probando yo antes tb lo de {2,} pero no sabía bien como iba jeje

Pues eso, muchas gracias :)

DarkSoldier

en php-hispano publicaro un manual bastante interesante por {Arias} sobre regexp, mirate el apartado de patrones, pese a que ya lo hagas conseguido :P

RedHat

mmm ingenioso y pekuliar ^^

Usuarios habituales

  • RedHat
  • DarkSoldier
  • Josepanaero
  • EnZo