Excusez moi pour le titre, mais je ne sais pas d'ou viens le probleme ...
Code :
- private static function code($value, $apply = 0)
- {
- $apply = intval($apply);
- if ( !empty($value) or is_array($value) )
- {
- while ( $apply >= 0 )
- {
- if ( isset(self::$replace[$apply]) && is_array(self::$replace[$apply]) )
- {
- echo $apply;
- //~ $value = preg_replace(self::$pattern[4],self::$replace[4],$value);
- $value = preg_replace(self::$pattern[$apply],self::$replace[$apply],$value);
- }
- $apply--;
- }
- }
- return $value;
- }
|
Le tableau self::$pattern est de la forme $pattern[0] = array('liste','dexpression','reguliere')
et le replace est $replace[0] = array('rempalcement', 'correspondant', 'aux patterns')
Il est définit pour plusieurs "niveau" (ici 0 mais aussi 1 2 3 4 ... )
le probleme c'est que quand j'appel la fonction, avec 10 en argument ( pour le $apply ).. bah ça marche pas :s
Dans le cas du code ci dessus, le niveau 0 (de bbcode...) est bien appliqué.. mais pas les niveaux superieurs ...
Si je decommente la ligne avec le [4], le niveau 4 est bien appliqué.
Pourtant si j'ajoute un echo $apply.. je vois bien le 1 2 3 4 5 6 7 8 9 10 (niveaux qui devraient etre appliqués mais ne le sont pas...)
Bref, excusez mon message peu clair...
Un ptit coup de main ?