Emojis coupés

Résolu
Bonjour,

J'ai un petit problème : sur ma page d’accueil, il y a différentes publications, et pour éviter que ça prennent trop de place, je ne prend que les 200 premiers caractères et je met un bouton "suite" pour que l'utilisateur puisse en voir plus uniquement si il le souhaite.

Sauf que php compte les emojis pour plusieurs caractères je pense, du coup quand au niveau du 200e caractère le texte est coupé, et que ça tombe sur un emojis, ça le coupe et ça donne des ���...

Donc c'est pas très pratique... C'est pas un problème très grave, mais si vous avez une solution du je suis preneur. Je coupe le texte de cette manière :

$contenu = substr($donnees['contenu'], 0, min(200,strlen($donnees['contenu'])));

3 réponses

  1. Contributeur Ambassadeur
    bonjour,
    peux-tu donner un exemple de texte contenant un emoji?
    0
    1. Contributeur Ambassadeur
      tu peux probablement utiliser mb_substr(), qui te permet de préciser l'encodage.
      0
    2. @yg_beParfait, ça marche ! Merci !
      0
  2. Je sais pas si ce site accepte les emojis mais on va essayer :

    par exemple : xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx???????????????????????????????????????????? donne ->

    xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx�... suite
    0
    1. Et quand j'appuie sur ...suite :
      xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx��????????????????????????????????????
      0