[Tuto PHP] Couper une chaine de caractères proprement

Trouvez de l'aide grâce à des tutoriels en image. Plusieurs thématiques liées à l'informatique sont disponibles. Vous pouvez proposer vos tutoriels à la suite de ce message.

[Tuto PHP] Couper une chaine de caractères proprement

Messagede keroin » Mercredi, 21 Mai 2008, 04:12

Tuto : Couper une chaine de caractères sans couper au milieu d'un mot


Voici une petite fonction PHP qui va permettre de découper automatiquement un texte récupéré depuis une base mysql (par exemple) sans que cette coupure arrive au milieu d'un mot. Cette fonction est utile si vous souhaitez n'afficher que les premier mots d'un texte (en guise d'introduction par exemple).

Code: Tout sélectionner
// on peut remplacer par une donnée issue d'une base sql (ex: $chaine = $sql['texte'];)
$chaine "Le texte à tronquer"

$lg_max 160//nombre de caractères autorisés

//On vérifie si le texte est plus grand que le nombre de caractères spécifiés
if (strlen($chaine) > $lg_max

//Si la réponse est non le script ne fait rien mais si c'est oui on continue...
{
    
$chaine substr($chaine0$lg_max);
//on cherche l'espace le plus proche du maximum des caractères autorisés (ici 160)    
    
$last_space strrpos($chaine" "); 
//On ajoute ... à la suite de cet espace    
    
$chaine substr($chaine0$last_space)."..."
}

echo 
$chaine;
        


On peut également personnaliser l'echo (l'affichage du résultat) en ajoutant un lien vers la page contenant le texte intégral
Code: Tout sélectionner
echo  $chaine.'...<a href="URL_de_la_page" title="lire la suite" >(Lire la suite)</a>';       


Vous pouvez commenter ou posez vos questions sur ce tutoriel à la suite de ce message.
Pas de demande de support en MP ou par mail, le forum est là pour ça!
Règles du forum!
Pensez à personnaliser votre profil via le "panneau de l'utilisateur".
Une galerie est disponible pour votre avatar.
Image
Avatar de l’utilisateur
keroin
Administrateur
Administrateur
 
Messages: 1572
Inscription: Lundi, 27 Mars 2006, 15:06
Localisation: On the web again...What else...
Configuration informatique: Tour :
Core2Quad Q9550
8Go OCZ Reaper HPC DDR3
Asus Rampage Extreme X48
Sapphire VAPOR-X HD 5870 1Go
Logitech G15 + Mx 1100
Ecrans : 3x Samsung Syncmaster P2450H
Alim Fortron Everest 1010

Portable :
Dell Inspiron 1720
Core2Duo T8300
4 Go DDR2
Nvidia 8600M GT
Ecran 17'
Logitech Mx 1000
Configuration téléphonie: - HTC Tytn2 Kaiser (Hors pack)
TomTom 7.915 Carte Western Europe v675.1409
- HTC Blackstone Touch HD (hors Pack)
- HTC Leo Touch HD 2 (hors Pack opérateur)
- Asus EeePC 1005 HA

Les discussions en relation


Retourner vers Tutoriels informatique

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités