Foros del Web » Programando para Internet » PHP »

Detectar caracteres extraños ( ! , ? ) PHP

Estas en el tema de Detectar caracteres extraños ( ! , ? ) PHP en el foro de PHP en Foros del Web. Bueno tengo un array asociativo con algunas palabras, y tengo un texto que debe ser reemplazado por esas palabras. Aca les explico con un ej. ...
  #1 (permalink)  
Antiguo 22/09/2010, 16:32
Avatar de aguila_393  
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 406
Antigüedad: 17 años, 1 mes
Puntos: 1
Detectar caracteres extraños ( ! , ? ) PHP

Bueno tengo un array asociativo con algunas palabras, y tengo un texto que debe ser reemplazado por esas palabras.

Aca les explico con un ej.

Tengo el siguiente texto: " Avia una bez un pes, fin "

En el array tengo la manera correcta de escribir las palabras, es decir la clave por ej. seria Avia y el valor es Habia, por lo que si yo llamo $array[Avia] me devuelve la palabra corregida. Para que me compruebe cada palabra yo lo que hice fue hacer que con la funcion explode dividir el texto cada vez que habia un espacio en blanco por lo que me quedo:

$array[0] = Avia , $array[1]= una , etc.

despues con un bucle for compruebo si la palabra esta o no en el primer array y si esta se corrige, pero tengo un problema cuando hay un caracter especial al final de la palabra, por ej pes, al estar la " , " cuando lo divido con explode la " , " queda unida a pes entonces si compruebo si pes esta o no en el primer array me dice que no ya que la palabra del array es "pes" y no "pes," alguien sabe como hacer para que las comas, asteriscos y demas caracteres me los separe de las palabras asi como con los espacios?

Gracias.
  #2 (permalink)  
Antiguo 22/09/2010, 16:46
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Detectar caracteres extraños ( ! , ? ) PHP

podrias usar preg_match_all y asi obtener todas las palabras
Código PHP:
Ver original
  1. preg_match_all('/([a-z]+)/i', $string, $matches);
  2. print_r($matches[1]);
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 22/09/2010, 16:49
Avatar de aguila_393  
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 406
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Detectar caracteres extraños ( ! , ? ) PHP

Cita:
Iniciado por Hidek1 Ver Mensaje
podrias usar preg_match_all y asi obtener todas las palabras
Código PHP:
Ver original
  1. preg_match_all('/([a-z]+)/i', $string, $matches);
  2. print_r($matches[1]);
Claro, esta bien lo que decis pero el problema que despues tendria que volver a agregarlos y de esa manera no se como se podria hacer para saber en donde habia un caracter especial antes.

Etiquetas: caracteres, detectar, extraño
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 09:21.