IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Passage eregi_replace vers preg_replace [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut Passage eregi_replace vers preg_replace
    Bonjour à tous,

    Petit souci de regex en fait je veux remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $info = eregi_replace("(^)\\" . $key . "([ ).,])" , "\\1" . $value . "\\2" , $info);
    $string = eregi_replace("([ (])\\" . $key . "([ ).,])" , "\\1" . $value . "\\2" , $info);
    // Par 
    $info = preg_replace('(^)\\' . $key . '([ ).,])' , '\\1' . $value . '\\2' , $info);
    $info = preg_replace('([ (])\\' . $key . '([ ).,])' , '\\1' . $value . '\\2' , $info);
    Mais ça ne fonctionne pas n'étant pas un expert en matière d'expression régulière je bloque.
    Est-ce que quelqu'un à une idée ?

    J'ai cependant réussi à remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ereg_replace("//(.*)","",$t)."<br />");
    // Par
    preg_replace_callback("#//(.*)#",function(){
                return "";
            },$t)."\n");
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ereg_replace("; (\([^)]*\))","",$info);
    // Par
    preg_replace_callback("#; (\([^)]*\))#",function(){
            return "";
        },$info);
    Merci d'avance pour votre aide

    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,



    Alternatives to this function include:

    preg_replace() (avec le modificateur i (PCRE_CASELESS))

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Merci j'avais vu pour le i mais même en le rajoutant il me supprime tout mon contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $info = preg_replace("(^)\\" . $key . "([ ).,])i" , "\\1" . $value . "\\2" , $info);
    $info = preg_replace("([ (])\\" . $key . "([ ).,])i" , "\\1" . $value . "\\2" , $info);

  4. #4
    Invité
    Invité(e)
    Par défaut
    A tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $info = preg_replace('#(^)\\' . $key . '([ ).,])#Ui' , '\\1' . $value . '\\2' , $info);
    $info = preg_replace('#([ (])\\' . $key . '([ ).,])#Ui' , '\\1' . $value . '\\2' , $info);

    N.B. un des grands spécialistes des regex ici est CosmoKnacki.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    Merci pour votre proposition.
    J'ai testé et ça supprime également tout mon contenu.
    J'espère qu'il va tomber sur mon post, c'est pas évident les regex

  6. #6
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    C'est pas facile de se prononcer sans connaître ce qu'il y a dans $key, ce qui pourrait peut-être expliquer la présence des deux antislashes au début de la pattern. L'idéal serait que tu postes le contenu du tableau (un print_r pour avoir les clefs et les valeurs, j'imagine que tout ceci est dans un foreach), voire que tu expliques ce que le code est censé faire, voire que tu postes tout l'extrait de code en question; car généralement dans ces codes un peu vieillots, l'auteur est tellement content d'avoir enfin réussi une pattern qui marche et de s'en être débarrassé qu'il l'enterre vite au fond du jardin, laissant derrière lui un code tout droit sorti de l'Enfer. En d'autres termes, c'est parfois plus simple de reprendre tout le passage.

    D'autre part, vue que les syntaxes diffèrent entre les fonctions ereg qui utilisent la syntaxe POSIX ERE (Extended Regular Expression) et les fonctions preg_ qui utilisent PCRE (Perl Compatible Regular Expression), il est tout à fait possible que des caractères contenus dans $key ne soient pas interprétés de la même manière avec les unes et les autres.

    Concernant les deux preg_replace_callback: cette fonction n'est utile que dans les cas où tu as besoin de transformer d'un façon x ce que tu captures (avec la fonction de callback), si tu n'as pas cette nécessité, preg_replace suffira à ton bonheur, donc:preg_replace("#//.*#", "", $t) et preg_replace("#; \([^)]*\)#", "", $info) (J'ai retiré les groupes de captures qui étaient inutiles.)

    Citation Envoyé par jreaux62 Voir le message
    N.B. un des grands spécialistes des regex ici est CosmoKnacki.
    Merci, de toute manière ici il n'y a que des spécialistes.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    Merci, de toute manière ici il n'y a que des spécialistes.
    Certes !

    Ma spécialité à moi : les usines à gaz !

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    Bonjour CosmoKnacki,

    Merci beaucoup pour ton aide déjà.
    Concernant le tableau à traiter il s'agit d'un tableau d'abréviations, la valeur de $key est une abréviation et la valeur de $value est le mot complet par lequel il faut remplacer l'abréviation du $key.
    Voici un extrait du tableau qui est effectivement traité dans un foreach :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $tab_abreviation = array (
        "abs"=>"absent",
        "adh"=>"adhérent",
        "ALC"=>"assistance logicielle",
        "annul"=>"annulation",
        "ASAP"=>"dès que possible",
        "at"=>"accident de travail",
        "auto"=>"automatique",
        "av"=>"avec",
        "bal"=>"boite aux lettres",
        "bdx"=>"bordereaux",
        "benef"=>"bénéficiaire",
        "bl"=>"bon de livraison",
        "bord"=>"bordereau",
        ...);
    Encore merci

  9. #9
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    D'accord, est-ce que tu peux regarder toutes les clefs du tableau et me confirmer qu'elles ne contiennent que des lettres? (s'il est vraiment long, utilise:print_r(preg_grep('~[^a-z]~i', array_keys($tab_abreviation)));). Si tu obtiens des résultats, poste quelques exemples notamment ceux avec des caractères spéciaux aux extrémités (comme des points ou autre).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    J'ai lancé la ligne que tu as précisé et le résultat est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Array
    (
        [21] => code pref
        [49] => homéo
        [59] => K7
        [66] => m/a
        [83] => N171
        [116] => qté
        [122] => réappro
        [126] => réédit
        [130] => régul
        [181] => v bleue
        [185] => véto
        [187] => vign.
    )
    Encore merci

  11. #11
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    Bon, en attendant de trouver une meilleure solution (histoire d'avoir quelque chose qui fonctionne tout de suite), tu vas remplacer la boucle foreach et ses deux eregi_replace par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($tab_abreviation as $key => $value) {
        $infos = preg_replace('~\b' . preg_quote($key, '~') . '(?!\w)~ui', $value, $infos);
    }
    preg_quote sert à échapper automatiquement les caractères spéciaux (comme le point de "vign.") et prend en 2e paramètre le délimiteur utilisé dans la pattern (pour pouvoir aussi l'échapper au besoin).

    \b est une "limite de mot" (word boundary) c'est à dire la limite entre un caractère appartenant la classe \w (chiffres, lettres, underscore) et un autre caractère ou le début ou la fin de la chaîne. On ne peut malheureusement pas utiliser \b à la fin à cause de l'entrée "vign." qui ne se termine pas par une lettre, donc à la place on utilise un test avant négatif (negative lookahead) (?!\w) pour vérifier que l'entrée n'est pas suivie par une lettre.

    (Je parle de meilleur solution car il y a peut être mieux à faire que de parcourir intégralement 200 fois la même chaîne).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    Merci beaucoup pour ton aide et tes explications, ça fonctionne parfaitement.

    Bonne fin de journée

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    J'ai regardé un peu certains il y a pas de problème par contre j'ai un problème avec l'abréviation param qui devient paramétrage, je me retrouve avec des paramétrageètres et paramétrageétrage

  14. #14
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    Le problème vient du fait que ta chaîne de départ utilise un encodage du type ISO-8859-1, alors que le moteur de regex s'attend à lire une chaîne en UTF-8 (à cause du modificateur u).

    Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    En UTF-8 le "è" est encodé sur deux octets: c3 a8
    70 61 72 61 6d c3 a8 74 72 65 73
    p  a  r  a  m  è     t  r  e  s
                   -----
     
    En ISO-8859-1 (ou WINDOWS-1252) le "è" est encodé sur un seul octet: e8
    70 61 72 61 6d e8 74 72 65 73
    p  a  r  a  m  è  t  r  e  s

    La conséquence est que "è" encodé en ISO-8859-1 n'est pas reconnu comme étant une lettre par le moteur de regex qui le voit comme un octet isolé (e8 tout seul ne correspond à aucun caractère en UTF-8), ce qui fait que cet octet de Belzébuth fait réussir le test avant négatif (?!\w) (non suivie d'une lettre, d'un chiffre, d'un underscore)

    J'ai utilisé le modificateur u pensant que tout était en UTF-8 (comme il se doit), ce qui a pour utilité d'étendre les classes de caractères prédéfinies comme \w, \d, \s, usw., qui ne contiennent que des caractères ASCII à la base, à l'ensemble des caractères unicode. Concrètement sans le modificateur u, \w contient juste [a-zA-Z0-9_], alors qu'avec le modificateur u, il contient en plus les toutes les lettres accentuées ou pas et chiffres de tous les alphabets présents dans la table unicode.

    (Tu remarqueras au passage que ce modificateur u fait deux choses: 1) Il indique au moteur de regex qu'il doit lire la chaîne et la pattern comme de l'UTF8. 2) Il étend les classes de caractères à l'unicode.)

    Bref, il faut trouver une astuce pour se passer de ce modificateur qui nous embête. On l'enlève et on remplace le \w (qui maintenant ne contient plus que des caractères ASCII) soit par la liste des caractères accentués susceptibles de se trouver dans un texte en français, soit pour pas s'enquiquiner à les écrire un par un, \w et un rang de la table ISO8859-1 qui les contient tous, ce qui donne:$infos = preg_replace('~\b' . preg_quote($key, '~') . '(?![\wÀ-ÿœŒ])~i', $value, $infos);Et voilà! Elle est pas belle la vie? Et bien non! Il reste encore deux problèmes:
    • Si une clef commence par un caractère accentué, \b échouera (puisque son sens est directement lié à ce que contient \w).
    • les clefs comprenant des caractères accentués ne seront trouvées qu'avec la casse dans laquelle le caractère accentué a été écrit dans le tableau (car sans l'UTF-8 le moteur de regex ne sait pas que "é" et "É" sont la même lettre dans deux casses différentes (et pour cause, il ne sait même pas que ce sont des lettres)).


    Pour le premier problème, il suffit de remplacer \b par un test arrière négatif (négative lookbehind) (comme on l'a fait pour le test avant, c'est exactement la même chose sauf que c'est vers l'arrière): $infos = preg_replace('~(?<![\wÀ-ÿœŒ])' . preg_quote($key, '~') . '(?![\wÀ-ÿœŒ])~i', $value, $infos);.

    Pour le deuxième problème, il faut ajouter toutes les clefs contenant des accents en deux exemplaires (ou quatre s'il y deux accents pour avoir toutes les combinaisons possibles):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $tab_abreviation = array( ...,
    'qté' => 'quantité',
    'qtÉ' => 'quantité',
    ..., 
    'réédit' => 'réédition',
    'rÉédit' => 'réédition',
    'réÉdit' => 'réédition',
    'rÉÉdit' => 'réédition',
    ...);
    C'est là qu'on réalise à quel point c'est galère de travailler avec ces vieux encodages.

    ----------------------------------------------------------------------------------------------------------------

    Un autre moyen est de laisser la pattern comme elle est, et de convertir ton texte, ton tableau, la pattern en UTF-8 avec iconv puis de reconvertir en ISO8859-1 après la boucle.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    Bonjour CosmoKnacki,

    Merci pour tes explications, c'est quand même pas évident.
    J'ai opté pour la 2ème option celle de convertir en UTF-8 en laissant la pattern que tu m'as donné hier mais il ne convertit plus mes abréviations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        $info = iconv('ISO8859-1', 'UTF-8', $info);
        $tab = iconv('ISO8859-1', 'UTF-8', $tab);
        $tab1 = explode("\n",$info);
        $tab2 = array();
        foreach ($tab1 as $t) array_push ($tab2,preg_replace("#//.*#", "", $t));
        $info = implode($tab2);
     
        $info = preg_replace("#; \([^)]*\)#", "", $info);
     
        if (is_array($tab)) {
            foreach ($tab as $key => $value) {
                $info = preg_replace('~\b' . preg_quote($key, '~') . '(?!\w)~ui', $value, $info);
            }
        }
        $info = iconv('UTF-8', 'ISO8859-1', $info);
    Tu vois quelque chose que j'aurai pu oublier ?
    Conversion du tableau effectuée et de $info.
    Par contre il faut que je convertisse la pattern à quel niveau ?

    Merci d'avance

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tant qu'à mettre le code/site à jour :


  17. #17
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    tant qu'à mettre le code/site à jour :

    C'est justement le lien auquel je pensais, et c'est clairement ce qu'il y a de mieux à faire.

    Citation Envoyé par drake56
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab = iconv('ISO8859-1', 'UTF-8', $tab);
    ça ne risque pas de marcher, iconv prend en argument une chaîne et renvoie une chaîne, pas un tableau. (Tu devrais d'ailleurs activer l'affichage des erreurs, car dans ce cas tu aurais pu voir le warning.)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $tab1 = explode("\n",$info);
    $tab2 = array();
    foreach ($tab1 as $t) array_push ($tab2,preg_replace("#//.*#", "", $t));
    $info = implode($tab2);
    ça n'est pas utile de séparer chaque ligne pour les traiter séparément, le point . par défaut ne matche pas le caractère \n (nouvelle ligne) donc il suffit d'écrire à la place:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $info = preg_replace('#//.*#', '', $info);
    Tu utilises implode sans son paramètre "glue" ce qui enlèvera tous les sauts de ligne, est-ce que c'est voulu? Ne vaut-il pas mieux mettre au moins un espace pour que la fin d'une ligne ne s'agglutine pas au début de l'autre?


    À quoi sert le test if (is_array($tab))? Y-a-t-il des cas où $tab ne serait pas un array?

    Je remplacerai tout ça par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $info = preg_replace('#//.*#', '', $info);
    $info = preg_replace('#; \([^)]*\)#', '', $info);
    // $info = str_replace("\n", "", $info); pour enlever les sauts de ligne
     
    // enlever les iconv une fois que tu auras passé tout ton site en UTF-8
     
    $info = iconv('ISO8859-1', 'UTF-8', $info);
     
    foreach ($tab as $key => $value) {
        $key = iconv('ISO8859-1', 'UTF-8', $key);
        $value = iconv('ISO8859-1', 'UTF-8', $value);
        $info = preg_replace('~\b' . preg_quote($key, '~') . '(?!\w)~ui', $value, $info);
    }
     
    $info = iconv('UTF-8', 'ISO8859-1', $info);
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  18. #18
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Points : 87
    Points
    87
    Par défaut
    Merci pour vos retours.

    Mon site est déjà censé être en UTF-8 je ne sais pas pourquoi ça bloque au niveau du PHP mais je n'ai pas envie de tout chambouler.
    Pour le implode la fonction d'origine était comme ça je n'avais pas l'impression que tout était tassé avec le eregi.
    Pour $tab en effet c'est inutile il y a forcément des données dans le tableau.
    Si je remplace le tout par ta proposition j'ai toujours le problème au niveau du paramétrageétrage, paramétrageètre donc les accents et caractères spéciaux

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par drake56 Voir le message
    Mon site est déjà censé être en UTF-8...
    "censé être" ne veut pas dire qu'il l'est vraiment !
    La preuve...

    => As-tu lu le tuto ?

    Ca concerne le code des scripts, l'encodage des fichiers en "UTF8 sans BOM", la base de données,.........

  20. #20
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    C'est bien étrange, essaie ce petit test (place le avant le code en question et toute conversion) et poste le résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    preg_match_all('~\bparam\S+trage\b~', $info, $matches);
    foreach ($matches[0] as $m) {
        echo PHP_EOL, '<br>';
        for ($i=0; $i<strlen($m); $i++) {
            echo dechex(ord($m[$i])), ' ';
        }
    }
    Puis ensuite teste le après la conversion de $info (et poste le résultat également).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Probléme passage vb6 vers vb Net
    Par dieuzorro dans le forum VB.NET
    Réponses: 3
    Dernier message: 25/04/2007, 13h56
  2. passage mpd vers mcd
    Par walid0577 dans le forum PowerAMC
    Réponses: 1
    Dernier message: 03/04/2007, 10h46
  3. [AVIS] Passage AOL vers NEUF
    Par mr_samy81 dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 21/01/2007, 19h45
  4. Passage état vers Word
    Par lokal64 dans le forum Access
    Réponses: 1
    Dernier message: 28/04/2006, 12h53
  5. Pb Form/sous Form du passage NT vers XP...
    Par toyyo dans le forum IHM
    Réponses: 2
    Dernier message: 25/11/2005, 18h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo