Foros del Web » Programando para Internet » PHP »

preg_replace (reemplazar campo de un formulario)

Estas en el tema de preg_replace (reemplazar campo de un formulario) en el foro de PHP en Foros del Web. Bueno, desarrolle una clase que me resulto muy buena y que utilizo para pasar todas las variables a los templates, hace unos meses termine de ...
  #1 (permalink)  
Antiguo 08/01/2006, 13:29
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 16 años, 10 meses
Puntos: 11
preg_replace (reemplazar campo de un formulario)

Bueno, desarrolle una clase que me resulto muy buena y que utilizo para pasar todas las variables a los templates, hace unos meses termine de desarrollar otra clase que extiende a la principal para procesar formularios. Por ahora estoy usando este sistema en dos sitios y los resultados son muy favorables. El unico problema que experimente hasta ahora es el codigo HTML es si y la forma en que los campos del formulario son tratados.

Para reemplazar un INPUT utilizo:

Código PHP:
$this->form_output preg_replace("/\<input?(.*?)name=\"" $key "\"?(.*?)\>/si""<input type=\"text\" name=\"" $key "\" value=\"" $val "\"\\1\\2>"$this->form_output); 
Todo muy lindo, funciona de maravilla. El unico problema que tengo en este momento es que al reemplazar el campo input de esta manera corro peligro de que se reemplace un <input type="hidden" /> tambien. Lo unico que impide que reemplaze los campos ocultos es que el nombre del campo si o si debe comenzar con "txt_", de esa manera el sistema sabe que campos reemplazar.

La razon por la cual no puedo hacer esto:

Código PHP:
preg_replace("/\<input type=\"text\" name=\"" $key "\"?(.*?)\>/si" 
..es porque no se donde los diseniadores o el editor va a colocar el atributo TYPE.

Ahora mi pregunta, quizas haya algun iluminado, de que otra manera lo podria hacer, se me estan agotando las ideas y bueno, que nada mejor que pedir un consejo aca en el foro.

Gracias.
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 14:54.