Foros del Web » Programando para Internet » PHP »

Expresión regular que no admita ciertos caracteres

Estas en el tema de Expresión regular que no admita ciertos caracteres en el foro de PHP en Foros del Web. Hola a todos: Estoy intentado hacer mediante una expresión regular que me devuelva una cadena de la cual borre ciertos caracteres no admitidos. Mi código ...
  #1 (permalink)  
Antiguo 17/07/2014, 03:21
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Expresión regular que no admita ciertos caracteres

Hola a todos:

Estoy intentado hacer mediante una expresión regular que me devuelva una cadena de la cual borre ciertos caracteres no admitidos.

Mi código es el siguiente:

function corregir($cadena) {
$arrNoValidos = array("º", "ª", "ç", "#");
return(preg_replace("....", $cadena));
}


echo corregir("hola mundo español");
echo corregir("c\ San Benito");
echo corregir("Mª Luisa #234");
echo corregir("El Barça ganará la liga el próximo año");

Este código pretendo que me devuelva:

hola mundo español
c San Benito
M Luisa 234
El Bara ganará la liga el próximo año

¿Cómo puedo hacer en la función corregir para que me sustituya los caracteres no permitidos del array por vacío?

Muchas gracias
  #2 (permalink)  
Antiguo 17/07/2014, 07:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresión regular que no admita ciertos caracteres

La forma en que usas preg_replace() no tiene sentido, pues sólo le pasas caracteres y no expresiones regulares.

Y obvio, preg_replace() funciona con expresiones regularas únicamente.

En tu caso es mejor usar str_replace() pues funciona con cadenas de texto simples.

No olvides consultar el manual:

http://php.net/preg_replace
http://php.net/str_replace
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: caracteres, ciertos, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:18.