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

È stato utile?

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
scroll top