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 :

Couper un message à plus de 20 caractères en PHP (substr)


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut Couper un message à plus de 20 caractères en PHP (substr)
    Bonjour tout le monde !
    Voila j'ai un probleme en php car je voudrai faire de tel sorte tous les messages qui dépassent plus 20 caractéres soient couper mais chez moi il me coupe méme ceux qui ont 2 caracteres.
    Voici mon scripte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($data = mysql_fetch_assoc($resultat))
    {
    	print("<tr><td>".$data['date_recep']."</td><td>".$data['heure_recep']."</td><td>".$data['num_expediteur']."</td><td>".$data['num_dest']."</td><td>".substr($data['message'],0,20)."[...]</td></tr>");
    }
    Si vous pouvez m'aider
    Merci de votre comprehension

  2. #2
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    mais chez moi il me coupe méme ceux qui ont 2 caracteres
    Et ils sont coupés à combien de caractères ???

  3. #3
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    qu'est-ce que tu entends par "couper" ? quel est l'effet observé que tu voudrais supprimer pour les chaîne de longueur < 20 caractères
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  4. #4
    Invité
    Invité(e)
    Par défaut
    plus dexplication stp

    je crois comprendre que si la chaine depasse 20 caracteres alors tu ajoutes les [...] et si c'est moins de 20 caracteres tu ne fais rien c'est ça?

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Merci de répondre !
    OUI c 'est ca rbaatouc si le message depasse 20 caracteres on coupe sinon on fait rien.
    vous avez compris ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    dans ce cas tu fais juste une condition sur la =longueur de la chaine
    si la longueur de ta chaine >= à 20 alours tu fais ton substr sinon tu fais rien tu laffiches tel quelle

    pour la longueur : $taillechaine=strlen($chaine);
    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
    16
    17
    18
    19
    20
     
    while($data = mysql_fetch_assoc($resultat))
    {
    print("<tr>
    <td>".$data['date_recep']."</td>
    <td>".$data['heure_recep']."</td>
    <td>".$data['num_expediteur']."</td>
    <td>".$data['num_dest']."</td>
    <td>".
    if(strlen($data['message']>=20)
    {
    echo substr($data['message'],0,20)."[...]";
    }
    else
    {
    echo $data['message'];
    }
    ."
    </tr>");
    }

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (strlen($chaine)>=20)?(substr($chaine,0,20)."..."):($chaine)

  8. #8
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Merci rbaa!
    Si vous pouvez etre plus clair car je suis debutant en php
    ou dois je effectuer la condition ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($data = mysql_fetch_assoc($resultat))
    {
    	print("<tr><td>".$data['date_recep']."</td><td>".$data['heure_recep']."</td><td>".$data['num_expediteur']."</td><td>".$data['num_dest']."</td><td>".substr($data['message'],0,20)."[...]</td></tr>");
    }
    Merci de vouloir bien m'expliquer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plus de 255 caractères
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 13/03/2006, 17h01
  2. [xsl][xslfo][fop]pas plus de 512 caractères
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/01/2006, 17h02
  3. SQL de plus de 255 caractères dans un recordset
    Par acama dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 05/01/2006, 15h50
  4. JDBC : requete de plus de 4000 caractères
    Par Endymion222 dans le forum JDBC
    Réponses: 1
    Dernier message: 01/12/2005, 17h00
  5. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07

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