Ändern Sie die PHP-Variablensyntax von Objekt zu Array in Notepad++ mit Suchen/Ersetzen

Ändern Sie die PHP-Variablensyntax von Objekt zu Array in Notepad++ mit Suchen/Ersetzen

Ich muss die Zugriffssyntax für eindimensionale Objekteigenschaft durch die Zugriffssyntax für Array-Elemente ersetzen.

Beispiele:

  • $variable -> child
  • $variable->child

beide sollten wie folgt umgewandelt werden:

$variable['child']

Antwort1

Finde was:

\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*) *-> *([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)

Ersetzen mit

$\1['\2']

Stellen Sie den Suchmodus natürlich als "regulärer Ausdruck" ein. Hier wird ein regulärer Ausdruck dargestelltPHP-VariableIst [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Antwort2

Finden:(\$\w+) *-> *(\w+)

Ersetzen:$1['$2']

  • (\$\w+)Erfasst ein Dollarzeichen und dann ein oder mehrere [a-zA-Z0-9_]-Zeichen
  • *-> * Übereinstimmung mit null oder mehr Leerzeichen, dann Bindestrich, dann größer als, dann null oder mehr Leerzeichen
  • (\w+) Erfassen Sie ein oder mehrere [a-zA-Z0-9_]-Zeichen

Verwenden Sie dann $1und , $2um den gewünschten dynamischen Ersetzungsvorgang mit Array-Syntax zu generieren.

Wie unter der anderen Antwort kommentiert, ist es nicht sinnvoll, nach einem oder mehreren wörtlichen Dollarzeichen ( \$+) zu suchen, da es nur eines geben sollte – ich hoffe, Sie verwenden nicht „variable Variablen“ ( $$variable), aber in diesem Kontext wäre es egal, wenn Sie das täten.

verwandte Informationen