In sostanza, quello che sto cercando di fare è cercare un file PHP piuttosto grande e sostituire qualsiasi blocco di codice PHP che includa la stringa "search_term" da qualche parte in esso con qualche altro codice. Cioècorrispondente alle stringhe più vicine a un termine di ricerca (espressione regolare perl)
<?php
//some stuff
?>
<?php
// some more stuff
$str = "search_term";
// yes...
?>
<?php
// last stuff
?>
dovrebbe diventare
<?php
//some stuff
?>
HELLO
<?php
// last stuff
?>
Quello che ho finora è
$string =~ s/<\?php(.*?)search_term(.*?)\?>/HELLO/ims;
Ciò corrisponde correttamente la chiusura più vicina ?>
, ma inizia la partita al primissimo <?php
, invece di quello più vicino alla stringa search_term
.
Cosa sto sbagliando?
Grazie. La cosa del blocco era in realtà ideale nel mio particolare scenario – Mala