[PHP] Limiter le nombre de mots
digival
Messages postés
193
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, mon script provenant de ce topic ne marche pas :
https://www.webmaster-hub.com/topic/27383-limiter-le-nombre-de-caractere-du-resultat-dune-requete/
Où est le problème svp ?
https://www.webmaster-hub.com/topic/27383-limiter-le-nombre-de-caractere-du-resultat-dune-requete/
<?php $retour = mysql_query('SELECT * FROM actualitees ORDER BY id DESC LIMIT 0,1') or die( mysql_error() ); $actu = mysql_fetch_array($retour) or die( mysql_error() ); ?> <?php $nbCaracteres = 50; if( strlen($actu) > $nbCaracteres ) { $extrait_actu = ereg_replace("(.{".$nbCaracteres."})( .*)$","\\1 ...", $actu); } else { $extrait_actu = $actu; } ?> <div id="actualites" > <h3> <?php echo (html_entity_decode(stripslashes($extrait_actu['titre']))); ?> </h3> <p> <?php echo nl2br(html_entity_decode(stripslashes($extrait_actu['contenu']))); ?> </p> </div>
Où est le problème svp ?
A voir également:
- [PHP] Limiter le nombre de mots
- Nombre de jours entre deux dates excel - Guide
- Trousseau mot de passe iphone - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
8 réponses
Salut,
Ce code à l'air de limiter le nombre de caractères.
Au lieu d'utiliser la fonction ereg_replace, utilise plutôt la fonction qui sert à prendre des portions de strings :
Manuel complet : https://www.php.net/manual/fr/function.substr.php
@Bientôt et bonne prog
Ce code à l'air de limiter le nombre de caractères.
Au lieu d'utiliser la fonction ereg_replace, utilise plutôt la fonction qui sert à prendre des portions de strings :
$extrait_actu = substr($actu, 0, $nbCaracteres);
Manuel complet : https://www.php.net/manual/fr/function.substr.php
@Bientôt et bonne prog
Merci beaucoup de vos réponses, mais je n'y arrive toujours pas...
(honte à moi :s)
Voici mon script:
P.S:Je préfère limiter le nombre de caractères
(honte à moi :s)
Voici mon script:
<?php $nbCaracteres = 5000; if( strlen($actu) > $nbCaracteres ) { $extrait_actu = substr($actu, 0, $nbCaracteres); } else { $extrait_actu = $actu; } ?> <div id="actualites" > <h3> <?php echo (html_entity_decode(stripslashes($extrait_actu['titre']))); ?> </h3> <p> <?php echo nl2br(html_entity_decode(stripslashes($extrait_actu['contenu']))); ?> </p> </div>
P.S:Je préfère limiter le nombre de caractères
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'abord tu ne peux pas faire un substr dessus !
Il faut que tu le fasses sur chacune de ses entrées.
Il faut que tu le fasses sur chacune de ses entrées.
Désolé mais j'y arrive toujours pas :s
Mon nouveau script:
P.S: Je veux juste effectuer la limite sur le contenu et non le titre
Mon nouveau script:
<?php $retour = mysql_query('SELECT * FROM actualitees ORDER BY id DESC LIMIT 0,1') or die( mysql_error() ); $actu = mysql_fetch_array($retour) or die( mysql_error() ); ?> <?php $nbCaracteres = 5000; if( strlen($actu['contenu']) > $nbCaracteres ) { $extrait_actu['contenu'] = substr($actu['contenu'], 0, $nbCaracteres); } else { $extrait_actu['contenu'] = $actu['contenu']; } ?> <div id="actualites" > <h3> <?php echo (html_entity_decode(stripslashes($actu['titre']))); ?> </h3> <p> <?php echo nl2br(html_entity_decode(stripslashes($extrait_actu['contenu']))); ?> </p> </div>
P.S: Je veux juste effectuer la limite sur le contenu et non le titre