Questão Usando o Notepad ++ para procurar / substituir o código PHP com expressões regulares


Eu gostaria de atualizar alguns códigos PHP no framework Joomla, substituindo coisas como:

$myvar=$_POST["myvar"];

com

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

Parece que isso deve ser fácil, mas não consigo fazer funcionar. Como faço isso?


2


origem


Não está claro o que você quer. A função normal de pesquisa / substituição não funciona para você? Deseja editar em lote vários arquivos de uma só vez? - slhck
Sim, muitos arquivos com $ _POST e $ _GET precisam ser substituídos, e $ _SESSION também. - Don
A pesquisa normal me permite substituir o $ _POST ["então eu tenho que fazer cuidadosamente o"] - geralmente falta um ou dois. - Don
O que eu encontrei: find: \ $ _ POST ["([\ w \ s] +)"]; substitua: JRequest :: getVar ('\ 1', ''); // $ _ POST ["\ 1"]; O código original é preservado no final da linha e remiado - Don
Don, parece que você encontrou sua própria resposta :-). Se você postar abaixo como resposta, você pode aceitá-lo (daqui a dois dias) e obter essa pergunta marcada como respondida :-) - Jonas Heidelberg


Respostas:


Procurar por

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

e substitua por

JRequest::getVar('\1')

\["([^"]+)"\] Para combinar os colchetes literalmente, eles precisam ser escapados usando uma barra invertida.

[^"] significa todos os personagens, mas não um ".

([^"]+) os colchetes colocam o material encontrado em um grupo de captura, isso pode ser recuperado com \1 (usado na substituição)


0