Básicamente, lo que estoy tratando de hacer es buscar a través de un archivo PHP grande y reemplazar cualquier bloque de código PHP que incluya la cadena "search_term" en algún lugar del mismo con algún otro código. Es decir.haciendo coincidir las cadenas más cercanas a un término de búsqueda (perl regex)
<?php
//some stuff
?>
<?php
// some more stuff
$str = "search_term";
// yes...
?>
<?php
// last stuff
?>
debe convertirse en
<?php
//some stuff
?>
HELLO
<?php
// last stuff
?>
Lo que tengo hasta ahora es
$string =~ s/<\?php(.*?)search_term(.*?)\?>/HELLO/ims;
Esto coincide correctamente con el cierre más cercano ?>
, pero comienza el partido en el primer <?php
, en vez del más cercano a la cadena search_term
.
¿Qué estoy haciendo mal?
Gracias. Lo del bloque fue en realidad ideal en mi escenario particular – Mala