Problème sur un script de news en php
Résolu/Fermé
paintkiller
Messages postés
59
Date d'inscription
samedi 28 avril 2007
Statut
Membre
Dernière intervention
2 mai 2013
-
31 oct. 2008 à 07:31
paintkiller Messages postés 59 Date d'inscription samedi 28 avril 2007 Statut Membre Dernière intervention 2 mai 2013 - 1 nov. 2008 à 23:40
paintkiller Messages postés 59 Date d'inscription samedi 28 avril 2007 Statut Membre Dernière intervention 2 mai 2013 - 1 nov. 2008 à 23:40
A voir également:
- Problème sur un script de news en php
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Microsoft activation script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
9 réponses
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
31 oct. 2008 à 08:19
31 oct. 2008 à 08:19
Bonjour,
tu peux utiliser "substr" pour limiter le nombre de caractères affichés: https://www.php.net/manual/fr/function.substr.php
Cordialement
Revan
tu peux utiliser "substr" pour limiter le nombre de caractères affichés: https://www.php.net/manual/fr/function.substr.php
Cordialement
Revan
paintkiller
Messages postés
59
Date d'inscription
samedi 28 avril 2007
Statut
Membre
Dernière intervention
2 mai 2013
9
31 oct. 2008 à 21:23
31 oct. 2008 à 21:23
Merci pour ta réponse, c'est une bonne idée le problème est que cette fonction va garder un nombre fixe de lettres et non de lignes.
Par exemple si l'on crée une news de 10 lignes avec seulement 5 lettres par ligne, pour couper au bout de 5 lignes il faudrait mettre substr($news , 24);
Et là si il y a une news de 50 caractères mais sur une ligne, celle ci seras couper par la fonction.
Si il y a une différente manière d'utiliser cette fonction ou si je n'ai pa compris son fonctionnement, je suis preneur de toutes idées.
Merci par avance.
Par exemple si l'on crée une news de 10 lignes avec seulement 5 lettres par ligne, pour couper au bout de 5 lignes il faudrait mettre substr($news , 24);
Et là si il y a une news de 50 caractères mais sur une ligne, celle ci seras couper par la fonction.
Si il y a une différente manière d'utiliser cette fonction ou si je n'ai pa compris son fonctionnement, je suis preneur de toutes idées.
Merci par avance.
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
1 nov. 2008 à 19:27
1 nov. 2008 à 19:27
Oui c'est vrai mais je ne crois pas qu'il y ait une fonction qui permette de limiter le nombre de lignes....
paintkiller
Messages postés
59
Date d'inscription
samedi 28 avril 2007
Statut
Membre
Dernière intervention
2 mai 2013
9
1 nov. 2008 à 19:42
1 nov. 2008 à 19:42
d'accord, sinon tu aurais une idée quant au système qu'utilisent en général les sites pour justement ce que je veux?
Merci par avance.
Merci par avance.
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
1 nov. 2008 à 19:46
1 nov. 2008 à 19:46
Salut,
Je suppose que tes news sont enregistrées dans une BDD. Les sauts de lignes sont donc représentées par la balise <br>.
Dans ce cas tu peut utiliser la fonction explode() comme ceci :
Ensuite tu affiche avec une boucle le nombre de lignes que tu veux par exemple :
Affiche 6 lignes (car il y a $news_ligne[0]).
Enfin s'il n'y a pas de <br> il faut trouver le caractère qui symbolise le saut de ligne (\n).
Explode() -> https://www.php.net/manual/fr/function.explode.php
Je suppose que tes news sont enregistrées dans une BDD. Les sauts de lignes sont donc représentées par la balise <br>.
Dans ce cas tu peut utiliser la fonction explode() comme ceci :
<? $news_ligne=explode("<br>", $la_news); ?>
Ensuite tu affiche avec une boucle le nombre de lignes que tu veux par exemple :
<? for($i=0;$i<=5;$i++){ echo $news_ligne[$i]; } ?>
Affiche 6 lignes (car il y a $news_ligne[0]).
Enfin s'il n'y a pas de <br> il faut trouver le caractère qui symbolise le saut de ligne (\n).
Explode() -> https://www.php.net/manual/fr/function.explode.php
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
1 nov. 2008 à 19:52
1 nov. 2008 à 19:52
Le problème avec cette proposition est que s'il n'y a pas de saut de ligne, alors il affichera toute la news.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BanBan55
Messages postés
363
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
9 juin 2024
45
1 nov. 2008 à 19:49
1 nov. 2008 à 19:49
ou alors sur la page ou tu affiche les news, tu fais une requete sql avec LIMIT 5 à la fin et quand tu clique sur lire la suite tu ouvre un page avec un autre requete qui t'affiche tous les enregistrements...
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
1 nov. 2008 à 20:00
1 nov. 2008 à 20:00
Dans ce cas là il faut définir combien de caractères fait une ligne pour fractionner la chaîne de caractère (la news) en un tableau ($tableau[0] pour la ligne 1 ...) que l'on affiche avec une boucle.
paintkiller
Messages postés
59
Date d'inscription
samedi 28 avril 2007
Statut
Membre
Dernière intervention
2 mai 2013
9
1 nov. 2008 à 21:16
1 nov. 2008 à 21:16
je ne comprends pas le fonctionnement de la fonction explode,
Mes news sont enregistrées dans la BDD et réinterprété ensuite avec nl2br pour pouvoir afficher correctement les sauts de lignes.
Je veux bien exemple du script si je veux garder seulement les 5 dernières lignes et après <a href="l.....">Lire la suite</a> car la fonction crées des chaines de caractères à chaque fois qu'elle recontre <br /> si je comprend bien?
Ensuite si par contre une longue ligne a été tapé il n'y aura pa de <br /> donc ne reconnaitra pas cela cela comme un saut de ligne.
Merci pour l'aide apporter.
Mes news sont enregistrées dans la BDD et réinterprété ensuite avec nl2br pour pouvoir afficher correctement les sauts de lignes.
Je veux bien exemple du script si je veux garder seulement les 5 dernières lignes et après <a href="l.....">Lire la suite</a> car la fonction crées des chaines de caractères à chaque fois qu'elle recontre <br /> si je comprend bien?
Ensuite si par contre une longue ligne a été tapé il n'y aura pa de <br /> donc ne reconnaitra pas cela cela comme un saut de ligne.
Merci pour l'aide apporter.
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
1 nov. 2008 à 21:58
1 nov. 2008 à 21:58
La fonction explode transforme une chaine de caractère en un tableau (array) à l'aide d'un séparateur.
Voici un exemple pour mieux comprendre :
Ce script affiche :
En php en saut de ligne est représenté par les caractères : \n
Ce qui veut dire que si je fais ceci :
J'arrive à isoler chaque ligne je peux donc ensuite afficher un certain nombre de ligne avec une boucle.
Voici un exemple pour mieux comprendre :
<? $chaine = "valeur0<br>valeur1<br>valeur2<br>valeur3"; $tableau=explode("<br>", $chaine); echo $tableau[0]." ".$tableau[1]." ".$tableau[2]." ".$tableau[3]; ?>
Ce script affiche :
valeur0 valeur1 valeur2 valeur3
En php en saut de ligne est représenté par les caractères : \n
Ce qui veut dire que si je fais ceci :
<? $chaine = "valeur0\nvaleur1\nvaleur2\nvaleur3"; $tableau=explode("\n", $chaine); echo $tableau[0]." ".$tableau[1]." ".$tableau[2]." ".$tableau[3]; ?>
J'arrive à isoler chaque ligne je peux donc ensuite afficher un certain nombre de ligne avec une boucle.
paintkiller
Messages postés
59
Date d'inscription
samedi 28 avril 2007
Statut
Membre
Dernière intervention
2 mai 2013
9
1 nov. 2008 à 23:40
1 nov. 2008 à 23:40
Merci pour ton aide j'ai réussit à écrire le script.