Cambie la sintaxis de la variable PHP de objeto a matriz en Notepad++ con buscar/reemplazar

Cambie la sintaxis de la variable PHP de objeto a matriz en Notepad++ con buscar/reemplazar

Necesito reemplazar la sintaxis de acceso a la propiedad del objeto unidimensional por la sintaxis de acceso al elemento de matriz

Ejemplos:

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

ambos deben convertirse a:

$variable['child']

Respuesta1

Encontrar que:

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

Reemplazar con

$\1['\2']

Por supuesto, haga que el modo de búsqueda sea "expresión regular". Aquí, una expresión regular que representavariable PHPes [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Respuesta2

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

Reemplazar:$1['$2']

  • (\$\w+)capturar un signo de dólar literal y luego uno o más caracteres [a-zA-Z0-9_]
  • *-> * coincidir con cero o más espacios, luego guión, luego mayor que, luego cero o más espacios
  • (\w+) capturar uno o más caracteres [a-zA-Z0-9_]

Luego use $1y $2para generar el reemplazo dinámico deseado con sintaxis de matriz.

Como se comentó en la otra respuesta, no tiene sentido buscar uno o más signos de dólar literales ( \$+) porque solo debería haber uno. Espero que no estés usando "variables variables" ( $$variable), pero no lo haría. En este contexto, no importa si lo hiciste.

información relacionada