Dans notepad je veux remplacer $_GET['text'] par fonction($_GET)

Résolu
bourassyoussef -  
 bourassyoussef -
Bonjour,

Dans notepad je veux remplacer $_GET['text'] par fonction($_GET['text']) text quelconque.

Merci d'avance.

2 réponses

  1. loupix57 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   14
     
    Bonjour

    Rechercher (ou CTRL+F)
    ensuite
    Rechercher et Remplacer $_GET['text'] par function($_GET['text'])
    enfin
    Appliquer à tout le document.
    0
    1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      non, il veut dire que 'text' peut être un texte quelconque.

      Il faudrait utiliser un éditeur un peu plus costaud que Notepad, gérant les regexp, pour faire cela.


      Dal
      0
    2. bourassyoussef
       
      Bonjour,

      Merci pour votre réponse, le malheur c'est comme a dit "Dal" le texte il change tout le temps, donc j'ai besoin d'une expression régulière.
      SVP "Dal" vous pouvez me proposer un autre éditeur qui peut faire cela ?
      0
  2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    J'aime bien Vim, mais Notepad++ te sera sans doutes plus familer :

    https://notepad-plus-plus.org/

    Recherche - Rechercher ... - Remplacer - sélectionner mode de recherche "Expression régulière"

    avec :

    - Recherche :
    $_GET\['([^']+)'\]

    - Remplacer par :
    fonction($_GET['\1'])


    cliquer le bouton "Remplacer tout".

    Dal
    0
    1. bourassyoussef
       
      Merci beaucoup,

      La requête que vous venez de me proposer ne marche pas (can't find the text) avec $_GET[[*.*] j'ai 900 résultats, mais bien sure je peux pas faire un remplacement automatique.
      0
    2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      La requête n'est pas $_GET[[*.*]

      relis bien, ou, mieux, fait un copier coller exactement du motif de recherche et de celui de remplacement que j'ai proposés, et sélectionne correctement le paramètre regex.

      elle fonctionne sur mon Notepad++ 5.9.8

      mais bien sure je peux pas faire un remplacement automatique

      pardon ?


      Dal
      0
    3. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      hmmff, je viens de mettre à jour mon Notepad++ en 6.3.2, et la regexp ne fonctionne plus :-(

      Je vais essayer de déterminer pourquoi.


      Dal
      0
    4. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      OK, sous Notepad++ 6.3.2, désormais, on doit faire cela :

      - Recherche :
      \$_GET\['([^']+)'\]


      - Remplacer par :
      fonction\($_GET['\1']\)

      Il faut échapper le symbole $ dans l'argument de recherche, et il faut échapper les parenthèses dans l'argument de substitution... ne me demande pas pourquoi, Notepad++ n'est pas la plus cohérente des implémentations des regexp.

      Enfin, est-ce que cela fonctionne désormais de ton côté ?


      Dal
      0
    5. bourassyoussef
       
      Non, toujours rien.

      J'utilise la même version que vous Notepad++ 6.3.2 mais il ne trouve rien pour \$_GET\['([^']+)'\]

      \$_GET\['([^']+)'\] rien en retour
      $_GET\['([^']+)'\] rien
      $_GET[[*.*] me donne 900 résultats

      Le but c'est de trouver un regexp qui permet de remplacer 900 $_GET[xxxxxx] par Fonction($_GET[xxxxxx]) sinon cela va me couter de nombreuse heures de travail débile.

      Merci pour tous.

      Youssef
      0