regex: la conversione di codice php da eregi a preg_match
-
20-09-2019 - |
Domanda
Sto cercando di trovare la giusta espressione regolare per convertire eregi($1,$2)
a preg_match("/$1/i",$2)
ho bisogno di prendere in considerazione se ci saranno funzioni con () in esso, e possono apparire più di una volta. chiunque può fornire la giusta espressione regolare per farlo?
grazie
Soluzione
Se non si desidera utilizzare un'espressione regolare per analizzare il codice.
Si desidera utilizzare un parser.
Altri suggerimenti
Stai cercando di modificare il codice sorgente, dal momento che è eregi
deprecato ? Questa espressione regolare farà il trucco:
$source= <<<STR
eregi(\$1, \$2);
eregi('hello', 'world');
STR;
$source2= preg_replace("/eregi\(['\"]*([^\'\"),]+)['\"]*,\s*['\"]*([^'\"),]+)['\"]*\)/", 'preg_match("/$1/i", "$2")', $source);
var_dump($source2);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow