preg_replace na preg_replace_callback

1

Witajcie koledzy i koleżanki,

mam problem ze zmianą preg_replace na preg_replace_callback po aktualizacji wersji PHP. Kompletnie nie ogarniam wyrażeń regularnych i nie bardzo wiem w jaki sposób mogę to zrobić (mimo, że zaliczyłem m.in. posty z naszego forum jak i ze stackoverflow). Siedzę już przy tym od 8:00 i jestem załamana :P

Stary kod wygląda tak:

preg_replace('#\{([a-z0-9\-_]*?)\}#Ssie', '( ( isset($parseArray[\'\1\']) ) ? $parseArray[\'\1\'] : \'\' );', file_get_contents($filepath))

oraz

preg_replace('/\s+/', '', strtoupper($_POST['set_uni_gamename'])).'_CK',

pomoże ktoś? Będę bardzo wdzięczna.

3

Do poprawy jest tylko pierwsze wyrażenie, bo tylko ono zawiera deprecated \e
Zobacz czy nie zadziała coś takiego:

preg_replace_callback ( '#\{([a-z0-9\-_]*?)\}#Ssi' , function ($matches) use ($parseArray) {
    return ( ( isset ( $parseArray[$matches[1]] ) ) ? $parseArray[$matches[1]] : '' );
} , file_get_contents($filepath) );
0

Dziękuję, działa! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1