Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
Reemplace el valor de la variable en el archivo JS usando Regex en php

Quiero cambiar el valor de una variable en el archivo js usando php, lo que intenté hasta ahora es obtener el contenido del archivo e intentar encontrar una fórmula de expresión regular robusta para cambiar el valor de la variable:

aquí está el contenido del archivo js, teniendo en cuenta que el valor puede ser cualquier valor entre = y ;

 // blah blah blah const filename = ""; // it can be filename = ''; or filename = null; or filename = undefined; and so on // blah blah blah

Traté de obtener esa línea exacta usando esto: preg_match

 /(((\bconst\b)+\s*(\bfilename\b)+\s*)+\s*=)[^\n]*/is

luego reemplazó el valor usando esto: preg_replace

 /([\"\'])(?:(?=(\\?))\2.)*?\1/is // to get what is between "" or /(?<=\=)(.*?)(?=\;)/is // to get what is between = & ;

luego reemplazó toda la línea nuevamente en el archivo usando la primera fórmula: preg_replace

 /(((\bconst\b)+\s*(\bfilename\b)+\s*)+\s*=)[^\n]*/is

¡Estoy preguntando si tienen un mejor enfoque, porque siento que esto es demasiado trabajo y no estoy seguro de la elegancia y el rendimiento de lo que hice hasta ahora!

NOTA: es un archivo de configuración acumulativo y obtendrá el nombre del archivo del paquete del controlador/método del método php actual >> es un escenario específico.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puedes usar

 preg_replace('~^(\h*const\s+filename\s*=\s*).+~mi', '$1"NEW VALUE";', $string)

Vea la demostración de expresiones regulares . Detalles :

  • ^ - inicio de línea (debido a la bandera m )
  • (\h*const\s+filename\s*=\s*) - Grupo 1: cero o más espacios en blanco horizontales ( \h* ), const , uno o más espacios en blanco ( \s+ ), filename , = que se incluye con cero o más espacios en blanco ( \s*=\s* )
  • .+ - uno o más caracteres que no sean de salto de línea tantos como sea posible.

El reemplazo contiene $1 , la referencia inversa de reemplazo que inserta el contenido del Grupo 1 en la cadena resultante.

Vea la demostración de PHP :

 $string = "// blah blah blah\n\nconst filename = \"\";\n\n// blah blah blah"; echo preg_replace('~^(\h*const\s+filename\s*=\s*).+~mi', '$1"NEW VALUE";', $string);

Producción:

 // blah blah blah const filename = "NEW VALUE"; // blah blah blah
about 4 years ago · Juan Pablo Isaza Denunciar

0

Vale, no sé si he entendido bien lo que quieres decir o no, pero aquí he intentado responder a tu pregunta.

Entonces, desea cambiar el valor almacenado en const filename = ""; usando php.

Así es como se ve su archivo javascript:

 // blah blah blah const filename = ""; // blah blah blah

Ahora, tenemos que obtener el valor almacenado en const filename . Entonces, nuestro php debería verse así:

 $newFilename = 'this_will_replace_the_value_in_const_filename'; $replace = get_file_contents('path_to_the_js_file'); $replaced = preg_replace('/\s*const\s+filename\s*=\s*\"(.*)\"\s*\;/', "const filename = '$newFilename';", $replace)

Ahora la nueva cadena que tiene el valor manipulado de const filename se almacena en $replaced . Puede imprimirlo usando echo, como se muestra a continuación:

 //php echo $replaced;

Producción:

 // blah blah blah const filename = 'this_will_replace_the_value_in_const_filename'; // blah blah blah
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda