Pregunta Usando Notepad ++ para buscar / reemplazar código PHP con expresiones regulares


Me gustaría actualizar algunos códigos PHP en el marco de Joomla, reemplazando cosas como:

$myvar=$_POST["myvar"];

con

$myvar=JRequest::getVar('myvar');

Parece que debería ser bastante fácil, pero no puedo hacer que funcione. ¿Cómo puedo hacer eso?


2


origen


No está claro lo que quieres. La función normal de búsqueda / reemplazo no funciona para usted? ¿Desea editar por lotes múltiples archivos a la vez? - slhck
Sí, muchos archivos con $ _POST y $ _GET necesitan ser reemplazados, y $ _SESSION también. - Don
La búsqueda normal me permite reemplazar el $ _POST ["luego tengo que hacer cuidadosamente el"] - generalmente echo de menos uno o dos. - Don
Lo que he encontrado: find: \ $ _ POST ["([\ w \ s] +)"]; reemplazar: JRequest :: getVar ('\ 1', ''); // $ _ POST ["\ 1"]; El código original se conserva al final de la línea y se remueve - Don
Don, parece que encontraste tu propia respuesta :-). Si lo publicas a continuación como respuesta, puede aceptarlo (dentro de dos días) y obtener esta pregunta marcada como respondida :-) - Jonas Heidelberg


Respuestas:


Buscar

$_POST\["([^"]+)"\]

y reemplazar con

JRequest::getVar('\1')

\["([^"]+)"\] Para hacer coincidir los corchetes literalmente, deben escaparse utilizando una barra invertida.

[^"] significa cada personaje, pero no un ".

([^"]+) los corchetes colocan las cosas encontradas en un grupo de captura, esto podría ser recuperado con \1 (usado en el reemplazo)


0