Witam!
Mam problem z envaluacją - modifierem 'e' w funkcji preg_replace(). Mój kod zamieniający znacznik bbCode własnej roboty na listy:
Kod
$var = preg_replace('#\[list=([iIaA1])\](.*?)\[/list\]#sie',"preg_replace('#\[\*\]#','<li />','<ol style=\"list-style-type: \\1\">\\2</ol>')",$var);
Linijka nie będzie działać prawidłowo, dopóki:
'A' nie zostanie zamienione na 'upper-alpha'
'a' nie zostanie zamienione na 'lower-alpha'
'I' nie zostanie zamienione na 'upper-roman'
'i' nie zostanie zamienione na 'lower-roman'
'1' nie zostanie zamienione na 'decimal'
Czy mógłby mi ktoś pomóc umieszczając w nie wiem zabardzo jaki sposób kolejną funkcję preg_replace w miejscu \\1 obok list-style-type:
Kod
preg_replace(array('#i#','#I#','#a#','#A#',#1#),array('lower-roman','upper-roman','lower-alpha','upper-alpha','decimal'),'\\1');