[ MilosDj @ 22.09.2016. 13:13 ] @
Da li sam dobro pretvorio preg_replace /e u preg_replace_callback?
Code:

    $old = preg_replace('/{([^}]+)}/e', "isset(\$tpl_array['\\1']) ? \$tpl_array['\$1']: stripslashes('{\$1}');",$template);

    $new = preg_replace_callback("/{([^}]+)}/", function($m) use($tpl_array) {return isset($tpl_array[$m[1]]) ? $tpl_array[$m[1]] : $m[1];},$template);

stripslashes je bio potreban jer /e ima auto addslashes.
\ je trebao ispred $ zbog "" stringa.
use() je za externu varijablu.

Ali sta znaci $1 u $tpl_array['\$1'] ???

Ja sam ga zamenio sa $m[1] i to kao radi. Tj sve radi al se pojavljuju neki cudni viskovi na sajtu. Pa ne znam da li sam se ovde zeznuo ili engine sad lepo radi a greska je negde u templejtu ili na desetom mestu.
[ Nemanja Avramović @ 24.09.2016. 14:12 ] @
Deluje OK. Najbolje je da negde istestiraš samo tu funkciju i tako ćeš znati da li radi kako treba.

$1 je prvi match u stringu nad kojim radiš regex matching. Sa callback funkcijom to bi trebalo da bude $m[1]
[ MilosDj @ 26.09.2016. 13:35 ] @
Ok, ali koja je onda razlika izmedju \1 i $1?
Ima li uopste razlike?
[ MilosDj @ 26.09.2016. 14:38 ] @
Ako nekom zatreba
Code:

"\\1" === '\1' === $m[1]

"\${1}" === '${1}' === $m[1]


Zezanje sa ${} je u slucaju ako ide broj odma iza zamene. \11 postaje ${1}1

Sto znaci da prethodno {$1} ima drugi smisao:

Code:

return isset($tpl_array[$m[1]]) ? $tpl_array[$m[1]] : '{'.$m[1].'}' : '');


Sad skoro sve radi.

[Ovu poruku je menjao MilosDj dana 27.09.2016. u 14:58 GMT+1]
[ MilosDj @ 29.09.2016. 12:36 ] @
Iz meni skroz nepoznatog razloga onaj preg_replace_callback je ubijao htaccess mod_rewrite AKO je url duzi od 1000 slova na PHP 5.4.

Tj radi na kratkim linkovina, a na duzim daje Internal server error 500. Server log je rekao "Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace."
Tuga. Veze nemam kako i zasto je to povezano.

Srecom uz malo zezanja i peglanja starih funkcija prvo sam poterao sajt na PHP 5.5 bez htaccess errora!!!
A onda i na 5.6 Em je brze, em ne baguje

Ne lep bug, al mozda nekom prekrati muke ako naleti na slicno.