Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2395 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  couper un news en html

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

couper un news en html

n°833265
leplusapte
mange le son
Posté le 26-08-2004 à 21:12:19  profilanswer
 

salut a tous.
Je suis en train de crée un newser pour un de met site et je veut faire un systeme qui coupe la news au bout de x character definie dans par une variable.Mais mon probleme vien du faite que les news seront en html et si je coupe la news en plein milieu d un tag html sa va foute la merde  :bounce: .Donc j aimerais savoir commant verifier si je coupe pas un tag html .
Voila le dbut de mon code :

Code :
  1. if (strlen($text) > $news_data['conf_news_longeur'])
  2.               {
  3.               $text = substr($text, 0, $news_data['conf_news_longeur']);
  4.       $text .= "...";
  5.               }


jétais parti sur l idé de verifier sur 50 caractere de chaque coté du point ou je coupe si il ya avé pas de < :

Code :
  1. $ftext = substr($text, $config_data['conf_news_longeur'] - 50, 100);
  2. if( ereg('<',$ftext))
  3. {
  4. }

 
mais apres je c sait pas trop koi faire  :bounce: .
 
voila merci ceux qui voudrons bien m aider.
 
ps: dsl s il y avait deja un post similaire mais la fonction rechercher du forum est desactivé  :jap:

mood
Publicité
Posté le 26-08-2004 à 21:12:19  profilanswer
 

n°833878
gubug
Posté le 27-08-2004 à 11:31:41  profilanswer
 

Déjà il faut compter les caractères _utiles_ de la news : faut pas compter les tags (pour peu qu'un <span class="azerty..."> traine dedans la news fera 3 caractères).
donc il faut faire strlen (striptags($text))
 
après il faut retrouver le dernier mot à prendre en compte dans la news avec les tags, un ereg () fera l'affaire en cherchant dans $text l'indice du texte qui est à supprimer.
ex: ... c'est l'histoire de tot|o à la plage ... (le | marque la limite désirée)
-> chercher la position de 'o à la plage' dans la news originale.
ça peut être chaud, à moins de couper au mot près ?
 
ensuite je pense qu'il faut inclure le prochain tag à condition qu'il soit fermant :
dans le cas de .....<b>.... tot|o ...</b>...
si toto est le dernier mot à inclure, rajouter le </b> dans la sélection.
 
pas si facile ton truc :pt1cable: ...

n°834270
leplusapte
mange le son
Posté le 27-08-2004 à 15:40:29  profilanswer
 

en fauie je crois aprés réfléxion que c' est pas fesable se que je veut faire car imaginons que le text doit couper en plein milieu de :
<strong><u><a href="jhfd">o le bo lien</a> whaaaaaaa</u><span class="qsdsd">super le span</a></strong>
 
 
ou meme que sa coupe en plein milieu d' un tableau a 10 row sa devien ingerable ...
 
Quel qu'un a déja fait un truc dans ce genre ???


Message édité par leplusapte le 27-08-2004 à 15:41:50
n°834286
naceroth
Posté le 27-08-2004 à 15:49:14  profilanswer
 

Sur de l'html pur non (càd sur de l'html avec toutes ses balises). Sur du partiel oui.

n°834356
Sebastien
Posté le 27-08-2004 à 16:55:22  profilanswer
 

Pourquoi ne pas supprimer les balises html sur la partie qui doit afficher les 50 premieres caracteres ?

n°834625
leplusapte
mange le son
Posté le 27-08-2004 à 20:48:17  profilanswer
 

2 solutions qui se presente a moi pour le moment serait de mettre soi 2 champ de text un qui apparet quant la news est couper et lautre la suite de la news et lautre solition seraity de mettre un tag dans la news du style {CUT} a lendroit ou on vaut couper la news


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  couper un news en html

 

Sujets relatifs
export donnée formulaire(html/asp) vers base access......!! URGENT !![HTML] Pages, images, et nombres de hits
html en php[HTML] Pour desktop 98SE
[PHP] BBCode vers html problème avec <br>PHP recuperer les dimensions d'un tableau en HTML
CGI dans une page htmlFaire un lien html ?
Besoin d'aide pour un sript de news[HTML] iframes
Plus de sujets relatifs à : couper un news en html


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)