[Résolu] Afficher un excerpt(NbMots) + 1ère image de l'article

SuricatSuricat Member
avril 2014 modifié dans Modifications
Bonjour,

Sur ma Home, j'aimerai afficher les 2 ou 3 premiers articles avec leur chapo habituel.
Mais j'aimerai que les articles suivants soient affichés de façon différente :
avec la première image contenue dans chaque article suivie d'un excerpt présentant les 50 ou 60 premiers mots de l'article non formatés (suppression des mises en gras, italic, des liens...).

Bref, j'aurai besoin d'une fonction excerpt(NbMots) et d'une fonction GetFirstImage().

Si certains connaissent d'autres techniques pour faire ça, je suis preneur.

Edit :
C'est bon, j'ai réussi à faire ce que je voulais. Pour ceux qui voudraient la même chose. Voici mon code :
[== PHP ==]
function getExcerpt($str, $NbMots, $etc=' (...)') 
{
if(strlen($str) > $NbMots*4) // il doit y avoir au moins NbMots de 3 caractères séparés d'un espace
	{ 
	  $NbSpace=0;
	  for($i; $i<strlen($str); $i++)
		  {
			$c = $str[$i];
			if($c==' ')
				{ $NbSpace++;
				  if($NbSpace==$NbMots)
					  {
						$str = substr($str, 0, $i);
						if($etc!=null) $str.=$etc;
						break;
					  }
				}
		  }
	}
return $str; 
} 
[== PHP ==]
$chapo = $plxShow->plxMotor->plxRecord_arts->f('chapo');
$PosFinLienImg = strPos($chapo, '</a>')+4;
$LienImg = substr($chapo, 0, $PosFinLienImg);
// tableau avec le lien vers l'image et l'image à gauche
// et l'Excerpt de 40 mots à droite mis sous forme de lien vers l'article 
$chapo='<table><tr><td class="ArtExcerptImg">'.$LienImg
        .'</td><td class="ArtExcerptTexte">'
	.'<a title="'.$plxShow->plxMotor->plxRecord_arts->f('title').'"'
	.' href="'.$plxShow->plxMotor->plxRecord_arts->f('url').'">'
	.getExcerpt(strip_tags(substr($chapo, $PosFinLienImg)), 40)
	.'</a>';
echo($chapo);

Réponses

Connectez-vous ou Inscrivez-vous pour répondre.