[PHP] Limiter le nombre de mots
digival
Messages postés
209
Statut
Membre
-
avion-f16 Messages postés 20367 Statut Contributeur -
avion-f16 Messages postés 20367 Statut Contributeur -
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
- Mot de passe - Guide
- Comment trouver le mot de passe wifi sur son téléphone - 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