Script News...lire la suite

Répondre
pimp
pimp
Déconnecté
hello. je maitrise le script news mais j'aimerais avoir un lien "lire la suite" qui gènere automatiquement une page avec la news entiere...
merci pour l'aide :-)
Keika
Keika
Déconnecté
Le PHP --> C'est dur !
salut,

toute news a un id unique. Tu fais un lien qui integre cet id. Apres recuperation de l'id contenu dans l'url, tu va chercher ta news et tu l'affiches.

Facile.

Bye
i M@N
i M@N
Déconnecté
One Love, One Heart, One Unity.
Hello.

Voilà la fonction cut_string qui va couper le texte de ta news au nombre de caractères que tu veux :
  1. <?php
  2. /*la fonction*/  
  3. function cut_string($string, $charlimit){  
  4. if(strlen($string) > $charlimit){  
  5. $string = substr($string,'0',$charlimit);  
  6. $array = explode(' ',$string);  
  7. array_pop($array);  
  8. $new_string = implode(' ',$array);  
  9. return $new_string.'...';  
  10. } else {  
  11. return $string;  
  12. }  
  13. }  
  14. /*un exemple*/  
  15. $text = "Couper un texte trop long avec une fonction PHP";  
  16. echo cut_string($text, 20);  
  17. ?> 

Après spa compliqué, tu interroge ta base pour récupérer tes données, tu cut_string ton texte de news et tu crées un lien vers affiche_news.php qui affichera toute la news.

@+...
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Je proposes les deux versions suivantes :

  1. <?php
  2. function cut_delimited_string($string, $size, $delimiter="\s")  
  3. { 
  4.    if($len = strlen($string) > $size) 
  5.    { 
  6.       $last = $string{$size - 1} ; 
  7.       while($string{$last} != $delimiter and $last > -1) 
  8.          $last-- ; 
  9.  
  10.       $shorter = $last == -1 
  11.          ? substr($string, 0, $size) 
  12.          : substr($string, 0, $last) ; 
  13.    } 
  14.    else 
  15.    { 
  16.       $shorter = $string ; 
  17.    } 
  18.  
  19.    return $shorter ;  
  20. }  
  21. ?> 


Et si on veut passer par une expression régulière :

  1. <?php
  2. function cut_word_delimited_string($string, $size)  
  3. { 
  4.    if($len = strlen($string) > $size) 
  5.    { 
  6.       if(preg_match("@^.{,".$size."}\>@", $string, $matches) > 0) 
  7.          $shorter = $matches[0] ; 
  8.  
  9.       if(strlen($shorter) == 0) 
  10.          $shorter = substr($string, 0, $size) ; 
  11.    } 
  12.    else 
  13.    { 
  14.       $shorter = $string ; 
  15.    } 
  16.  
  17.    return $shorter ;  
  18. }  
  19. ?> 
pimp
pimp
Déconnecté
OKAY, bon ben je vais tester ça merci pour votre aide !
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog