Chaîne de caractères et ...lire la suite

Chaîne de caractères et ...lire la suite - PHP - Programmation

Marsh Posté le 21-08-2008 à 13:45:48    

Bonjour à tous,
J'ai fais une petite news qui permet d'insérer des liens et images avec les balises :

Code :
  1. [link:http://www.blabla.com]Titrelien[/link]
  2. [ img ]http://www.urlimage.com[ /img ] (j'ai mes des espaces pour pas l'affichage ici)


Je passe le tout dans un eregi_replace pour mettre au format html, mais j'aimerai afficher que les 20 premiers caractères (j'ignore les images).
Le problème est que le quand c'est en html, ça prend bien plus de caractères.
 
Est-ce que qqun a une idée simple ?
 
Merci de votre aide.


Message édité par polo7 le 21-08-2008 à 13:47:52
Reply

Marsh Posté le 21-08-2008 à 13:45:48   

Reply

Marsh Posté le 21-08-2008 à 16:50:17    

tu dois d'abord prendre les 20 premiers caractères puis ensuite passer en html. Sinon tu risque bien sur de couper en plein dans une balise, ce qui n'est pas du plus bel effet.

Reply

Marsh Posté le 21-08-2008 à 16:56:47    

Et utiliser preg_replace au lieu de eregi_replace pour quelques raisons bien connues :)

Reply

Marsh Posté le 21-08-2008 à 19:10:42    

oui, mais d'abord j'enlève les valises pour avoir le bon string, je coupe et je remplace la chaîne détectée entre mes balises et j'affiche.
J'essaye...

Reply

Marsh Posté le 21-08-2008 à 22:20:32    

polo7 a écrit :

oui, mais d'abord j'enlève les valises pour avoir le bon string


 
 :lol:  


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 21-08-2008 à 22:42:27    

n'y aurait-il pas une fonction qui permette de prendre les n premiers caractères en excluant certaines chaînes ?

Reply

Marsh Posté le 22-08-2008 à 08:31:06    

tu peux toujours prendre les n premiers caractères puis casser ta chaine en considérant certain caratère comme séparateur et rassembler le tout

Reply

Marsh Posté le 16-09-2008 à 17:10:10    

Salam,
 
j'ai une petite idée pour vous:
1-n'utilisez pas la fonction substr pour extraire les 20 caractères
2-créez une autre fonction qui fait le compte
3-quand elle rencontre le caractère '<' elle arrete de compter mais continue de concaténer
4-quand elle trouve le caracètre '>' elle continue de compter
 
function($chaine, $nbr_char=20)
{
$sous_chaine="";
$i=0;
$balise=false;
while($i< $nbr_char)
{
  $c=substr($chaine, $i, 1);
  $sous_chaine.=$c;
 
  if($c=='<')
    $balise=true;
 
  if($balise && $c=='>')
    $balise=false;
 
  if(!$balise)
    $i++;
}
}


---------------
LLah mo3ine
Reply

Marsh Posté le 16-09-2008 à 17:12:09    

En fait y'a strip_tags qui permet de faire ça simplement [:petrus75] Virer tout l'HTML, garder juste le texte brute

Reply

Marsh Posté le 16-09-2008 à 21:35:53    

strip_tags, substr($str,0,20)
les functions de punbb ( parser ) ont été joliment réalisées (et reprises) dans ce but


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed