Césure des mots dans du PHP

Bonjour,

Voilà, je voudrai intégrer une césure de mot dans ce code (Description). Si vous avez une idée :o) :
-------------------------------
<?php

$resultat['description'] = htmlspecialchars($resultat['description']);
if ( $type=='search' ) {
for ( $i=0; $i<$nb_mots; $i++ ) {
$resultat['description'] = keyword_in_bold($mots_reels_recherches[$i],$resultat['description']);
};
};
echo $resultat['description'];

?>
--------------------------------

Merci :o)

6 réponses

  1. Je t'ai trouvé ça sur le web, je ne sais pas si cela t'irra ?

    site:http://www.expreg.com/lire-Chaines-source

    Césure sur des mots V3 Posté par Yves Maistriaux

    Et voiçi encore une autre version de césure sur des mots sans couper les attributs des balises HTML
    <?php
    $texte = 'Unmotbientroplongécritparunenfoirédansunforum suivi d\'un autre avec balise html
    <strong class="pouet" style="background-image;width:130px;"><u><b><i>énorme,
    unmotvraimenténormedanscetexte</i></b></u></strong> et un mottrèslongbeaucouptroplong';

    $min='25';
    function coupe_mot($match,$longueur=15,$inserer='*')
    {
    return wordwrap($match[1],$longueur,$inserer,1);
    }
    $texte1=preg_replace_callback(''\b([[:alnum:]]{'.$min.',})\b'','coupe_mot', $texte);

    echo htmlentities($texte1);
    ?>
    1. Salut Alain,

      Ouai, j'ai trouvé ça aussi, mais vu que mes variables fonctionnent du genre :

      $resultat['description'] et non $description

      du coup j'ai pas réussi à l'intégrer dans mon code ci-dessus. J'ai essayé pleins de façon, mais rien ne marche. Faut dire que je débutant en PHP, alors j'ai vite mes limites !

      Si tu sais comment l'intégrer dans mon code ci-dessus ?

      A+ :o)
      1. Bonjour Alain,

        J'ai fais ça, mais ça marche pas :

        ------------------------
        <?php

        $resultat['description'] = htmlspecialchars($resultat['description']);
        if ( $type=='search' ) {
        for ( $i=0; $i<$nb_mots; $i++ ) {
        $resultat['description'] = keyword_in_bold($mots_reels_recherches[$i],$resultat['description']);

        echo $resultat['description'];
        $description = $resultat['description'] ;
        $min='25';
        function coupe_mot($match,$longueur=15,$inserer='*')
        {
        return wordwrap($match[1],$longueur,$inserer,1);
        }
        $description1 = preg_replace_callback(''\b([[:alnum:]]{'.$min.',})\b'','coupe_mot', $description);

        echo htmlentities($description1);
        };
        };

        ?>
        --------------------------------------

        Il me met cette erreur :

        --------------------------------------
        Warning: Unexpected character in input: '\' (ASCII=92) state=1 in pub-site.php on line 124

        Parse error: syntax error, unexpected T_STRING in pub-site.php on line 124
        --------------------------------------

        La ligne 124, c'est celle là :

        -----------------------------------
        $description1 = preg_replace_callback(''\b([[:alnum:]]{'.$min.',})\b'','coupe_mot', $description);
        ------------------------------------

        Si tu as une idée :o)...
        1. comme ça ça marche mieux mais le résulta n'est pas probant

          $texte = 'Unmotbientroplongécritparunenfoirédansunforum suivi d\'un autre avec balise html
          <strong class="pouet" style="background-image;width:130px;"><u><b><i>énorme,
          unmotvraimenténormedanscetexte</i></b></u></strong> et un mottrèslongbeaucouptroplong';
          
          $min='25';
          function coupe_mot($match,$longueur=15,$inserer='<br />')
          {
          return wordwrap($match[1],$longueur,$inserer,1);
          }
          $texte1=preg_replace_callback('/\b([[:alnum:]]{'.$min.',})\b/','coupe_mot', $texte);
          
          echo $texte1;
          1. Merci Alain,

            Je retiens ton idée et dès que j'aurai une minute j'essaierai. Là je suis en train de finaliser mon nouveau projet et j'ai une tonne de chose à faire. Encore quelques problèmes techniques à réglé et tout sera ok. Tes conseils m'ont été précieux. Merci une nouvelle fois :o)

            Passe une belle journée.

            mdpubs