regexe simple (avec ! et \)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 août 2016, 23:25

Reprend exactement mon exemple et regarde si tu obtiens la même chose que moi, car là c'est bizarre ton truc.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 34 Messages

18 août 2016, 20:06

toujours pas d'idée ? jai tester ça : (?<![\\\])([!eE]\.) mais c'est pas très concluant non plus...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 août 2016, 20:19

Tu n'as probablement pas vu mon message vu qu'il était sur une nouvelle page ;-)

Teste avec mon code, je t'ai indiqué ce que ça devrait ressortir ensuite.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 34 Messages

19 août 2016, 09:10

Effectivement je n'ai pas vu à cause des pages... :?

Si par ton code tu entend ça :

Code : Tout sélectionner

$chaine_de_test='!. \!. e. \e. E. \E.'; preg_match_all("/(?:^|[^\\\])([!eE]\.)/",$chaine_de_test,$matches); $math = var_dump($matches);
Alors j'obtient ça :

Code : Tout sélectionner

array(2) { [0]=> array(3) { [0]=> string(2) "!." [1]=> string(3) " e." [2]=> string(3) " E." } [1]=> array(3) { [0]=> string(2) "!." [1]=> string(2) "e." [2]=> string(2) "E." } } array(2) { [0]=> array(3) { [0]=> string(2) "!." [1]=> string(3) " e." [2]=> string(3) " E." } [1]=> array(3) { [0]=> string(2) "!." [1]=> string(2) "e." [2]=> string(2) "E." } } array(2) { [0]=> array(3) { [0]=> string(2) "!." [1]=> string(3) " e." [2]=> string(3) " E." } [1]=> array(3) { [0]=> string(2) "!." [1]=> string(2) "e." [2]=> string(2) "E." } } array(2) { [0]=> array(3) { [0]=> string(2) "!." [1]=> string(3) " e." [2]=> string(3) " E." } [1]=> array(3) { [0]=> string(2) "!." [1]=> string(2) "e." [2]=> string(2) "E." } }
Et si j'essay de l'integré à mon code :

Code : Tout sélectionner

if(preg_match_all("/(?:^|[^\\\])([!eE]\./",$math,$match_math)) { foreach ($match_math[0] as $v2_math) { $replacement_math = "<font color='purple'>".$v2_math."</font>"; $math = str_replace($v2_math, $replacement_math, $math); $replacement_math = str_replace(".", "", $v2_math); $math = str_replace($v2_math, $replacement_math, $math); } }
rien ne se passe.
Modifié en dernier par azzeryx le 19 août 2016, 12:35, modifié 3 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 août 2016, 09:59

Non, si tu mets uniquement mon code dans une page blanche, il n'est pas possible que tu obtiennes ce que tu as indiqué.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 34 Messages

19 août 2016, 12:33

Comment ça ?? Ma page n'est serte pas blanche mais quel est le problème avec une page blanche ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 août 2016, 15:49

page blanche dans le sens nouveau fichier
Crée un nouveau fichier PHP et met uniquement le code que je t'ai fourni
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 34 Messages

19 août 2016, 19:32

Dans une page vierge j'obtient ça : array(2) { [0]=> array(3) { [0]=> string(2) "!." [1]=> string(3) " e." [2]=> string(3) " E." } [1]=> array(3) { [0]=> string(2) "!." [1]=> string(2) "e." [2]=> string(2) "E." } }

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 août 2016, 01:33

Donc ça marche correctement, on est d'accord ?

Donc maintenant reconstruit ton code progressivement en partant de cette partie qui fonctionne pour trouver à quel moment ça foire
Quand tout le reste a échoué, lisez le mode d'emploi...