Récupérer la première lettre d'un mot en PHP. et UTF-8

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par milkiway, 6 Avril 2010.

Tags:
  1. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    Bonjour,

    J'ai ceci qui fonctionne parfaitement sur un site encodé en ASCII mais sur mon site en développement en UTF-8, ça ne fonctionne pas.

    Code:
    substr($string,0,1) == "a"
    En simple, je veux juste connaître la première lettre du mot contenu dans $string.

    Savez vous comment faire ?

    Merci
     
  2. tyv
    tyv WRInaute occasionnel
    Inscrit:
    6 Janvier 2006
    Messages:
    260
    J'aime reçus:
    0
    il faudrait surement utiliser la bibliotheque mbstring soit en utilisant les fonctions équivalentes (mb_substr par exemple) soit en indiquant directement dans la conf php d'utiliser mbstring pour ces fonctions:
    Dans la conf php par defaut sur une ubuntu avec php installé via les dépots par exemple, les paramètres sur mbstring sont commentés:
    Code:
    ; overload(replace) single byte functions by mbstring functions.
    ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
    ; etc. Possible values are 0,1,2,4 or combination of them.
    ; For example, 7 for overload everything.
    ; 0: No overload
    ; 1: Overload mail() function
    ; 2: Overload str*() functions
    ; 4: Overload ereg*() functions
    ;mbstring.func_overload = 0
    
     
  3. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    Merci beaucoup. J'ai testé :
    Code:
    if(mb_substr($string,0,1,'UTF-8') == "a") echo "ok";
    Mais ça ne donne rien.
     
  4. tyv
    tyv WRInaute occasionnel
    Inscrit:
    6 Janvier 2006
    Messages:
    260
    J'aime reçus:
    0
    aie, et que renvoie un

    Code:
    echo $string 
    puis un
    Code:
    echo substr($string, 0, 1);
    ?

    histoire de voir la chaine $string en entier et ce que retourne le substr.
     
  5. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    Et bien comme dit au début
    echo substr($string, 0, 1);
    renvoie : rien du tout

    echo $tring;
    renvoie "architecte"
     
  6. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 003
    J'aime reçus:
    128
    Et un
    Code:
    echo $string[0]
    ?
     
  7. tyv
    tyv WRInaute occasionnel
    Inscrit:
    6 Janvier 2006
    Messages:
    260
    J'aime reçus:
    0
    bein non c'est pas précisé au début :) .
    Sinon c'est vraiment curieux car c'est même pas sur un caractère accentué...

    si dans une nouvelle page, tu ne mets que le code
    Code:
    <?php
    $string="architecte";
    echo substr($string, 0, 1);
    ?>
    
    est ce que ça fonctionne?
     
  8. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    en effet tyv désolé je pensais l'avoir dit.

    Je vois que nous avons tous les mêmes idées. Ce code ne renvoie rien, j'avais testé.

    Truc de fou non ?

    Je teste ça demain, j'y ai même pas pensé.
    Merci
    <?php
    $string="architecte";
    echo substr($string, 0, 1);
    ?>
     
  9. Rod la Kox
    Rod la Kox WRInaute accro
    Inscrit:
    24 Juin 2008
    Messages:
    2 780
    J'aime reçus:
    0
    mb_substr fonctionne obligatoirement à moins d'une erreur ailleurs.
     
  10. nza2k
    nza2k WRInaute impliqué
    Inscrit:
    16 Janvier 2004
    Messages:
    892
    J'aime reçus:
    2
    Et en jouant au préalable avec utf8_decode() ?
     
  11. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    Oui, et c'est pas étonnant....... Comme d'habitude une erreur stupide. Désolé de vous avoir fait perdre du temps, mon appel contenait fonction($sting); il manquait le "r" ... :x

    Et d'ailleurs, substr fonctionne sans souci, même sur de 'UTF-8 en tout cas pour cet usage.
     
  12. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    Pas certain pour les caractères accentués ;)
     
  13. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    Sur et certain que ça ne fonctionne pas pour les caractères accentués, mais cette chaine ne peut pas en avoir ;)
     
  14. nza2k
    nza2k WRInaute impliqué
    Inscrit:
    16 Janvier 2004
    Messages:
    892
    J'aime reçus:
    2
    Sans doute parce que les caractères accentués sont encodés en une chaine de plusieurs caractères en UTF8, non ?
     
  15. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    Oui c'est bien pour ça ;)
     
  16. tyv
    tyv WRInaute occasionnel
    Inscrit:
    6 Janvier 2006
    Messages:
    260
    J'aime reçus:
    0
    est ce que tu as pu corriger ce bug?
     
Chargement...
Similar Threads - Récupérer première lettre Forum Date
Récupérer la première lettre d'un mot Développement d'un site Web ou d'une appli mobile 19 Décembre 2005
[MySQL] Récupérer la première ligne d'un GROUP BY Développement d'un site Web ou d'une appli mobile 14 Décembre 2009
Récupérer les id des 5 premières cases cochées Développement d'un site Web ou d'une appli mobile 14 Janvier 2007
Commande site : monsite.com. Comment récupérer les URL dans un fichier ? Crawl et indexation Google, sitemaps 2 Juillet 2022
Récupérer URL destination liste redirection Netlinking, backlinks, liens et redirections 22 Novembre 2021
Récupérer les 10 plus grandes valeurs dans un fichier JSON Développement d'un site Web ou d'une appli mobile 18 Novembre 2021
Js : récupérer un élément dans un array Développement d'un site Web ou d'une appli mobile 23 Octobre 2021
FORMULAIRE FB ADS récupérer les données Facebook 28 Juillet 2021
Récupérer le premier et dernier enregistrement sql Développement d'un site Web ou d'une appli mobile 16 Juillet 2021
Comment récupérer le solde impayé de mon compte Adsense ? AdSense 26 Juin 2021
Search Console Sitemaps non indéxés ""Impossible de recuperer le sitemap" Crawl et indexation Google, sitemaps 23 Juillet 2020
Récupérer backlinks vers liens morts : fausse bonne idée ? Netlinking, backlinks, liens et redirections 6 Avril 2020
Récupérer le contenu d'une vidéo youtube Le café de WebRankInfo 23 Mars 2020
Comment récupérer un compte insta ouvert par un cybersquatteur ? Autres réseaux sociaux 29 Janvier 2020
comment récupérer mon positionnement Problèmes de référencement spécifiques à vos sites 5 Janvier 2020
Attendre des années avant de récupérer l'argent amassé sur adsense AdSense 23 Novembre 2019
Comment récupérer variable dynamique pour GTM ? Google Analytics 30 Septembre 2019
SELECT COUNT avec PDO et récupérer le résultat Développement d'un site Web ou d'une appli mobile 27 Mai 2019
récupérer id en php sans lien Développement d'un site Web ou d'une appli mobile 25 Avril 2019
Récupérer events via API google analytics Google Analytics 6 Avril 2019