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 :

Limitation de caractères [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Par défaut Limitation de caractères
    Bonjour,

    j'utilise un cms et dans certain cas il m'affiche un titre trop long et non lu par google.

    je voudrais savoir si quelqu'un connaîtrai l'expression régulière qui me permettrai de limiter un nombre de caractère entre 2 balise title.
    En sachant qu'il faudrait que la lecture se fasse de droite à gauche c'est à dire a partir de la balise de fin </title>

    je pensais utilisé la fonction split pour recuperer mon texte mais je ne connais rien en expression régulière et ce que j'avais fait ne fonctionne pas



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php  
     
    $chaine = "<tiltle>ici le txte que je souhaiterais réduire</title>"; 
    $resultat = split("(^.{15}</title>$)",$chaine); 
      echo "<title>".$chaine[0]."</title>"; 
       ?>
    Quelqu'un pourrais m'aider ??
    Merci
    Christophe

  2. #2
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Salut !

    Je ne sais pas si cela est possible en expression régulière mais pour se faire j'utilise une fonction bien pratique qui permet de tronquer un texte au nombre de caractères voulu, et ce sans couper le dernier mot en deux:

    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
    /* Tronque un texte au nombre de caractère souhaité */
    // si $b est à 1, on force la coupe du mot
    function texte_tronquer($texte,$nb,$b=0)
    {
     // Test si la longueur du texte dépasse la limite
     if (strlen($texte)>$nb)
     {
      $texte = substr($texte, 0, $nb);
      // Récupération de la position du dernier espace (afin déviter de tronquer un mot)
      if($b) { $texte = substr($texte, 0, $nb); }
      else {
       $position_espace = strrpos($texte, " ");
       $texte = substr($texte, 0, $position_espace);
      }
      $texte = $texte."...";
     }
     return $texte;
    }
    Voilà ça devrait pouvoir t'aider !
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Par défaut
    Merci je vais essayeret je te tiens au courant

  4. #4
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Bonsoir,

    un truc dans le genre pourrait le faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php  
     
    $myString = "<title>ici le texte que je souhaiterais réduire</title>"; 
    if ( preg_match('{<title> .*? (.{0,15}) </title>}x', $myString, $match) ) 
    	print "<title>".$match[1]."</title>";

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Par défaut Merci
    Merci pour la soluce jml94, ca marche nickel.

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

Discussions similaires

  1. Variables string limité à 255 caractères?
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 16h29
  2. [JTextField]limiter les caractères ?
    Par Baptiste Wicht dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 27/12/2005, 13h12
  3. Réponses: 1
    Dernier message: 18/08/2005, 16h11
  4. limite de caractère sur un type="texte"
    Par auduma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/03/2005, 15h06
  5. Varchar2 limité à 256 caractères (SQLLoader, 9i)
    Par nuke_y dans le forum SQL*Loader
    Réponses: 2
    Dernier message: 09/11/2004, 13h20

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