1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| //functions.php
<?php
function overview($file,$nb=60,$forced=1)
{
/*
$file correspond au fichier dont on souhaite afficher le resume
$nb correspond au nombre de mots qu l'on souhate afficher
si non renseigne, 60 caracteres par defaut, si 0, 60 caracteres aussi pour pas que le $forced se retrouve dans le $nb
$forced si 1, alor on force la coupure a $nb caracteres
si 0, alors on tolere la fin de la phrase.
---------------------
je les ai juste prevu pour plus tard
*/
if($nb==0)
$nb=60;
$texte='1111111111<u>2222222222</u>3333333333<u>4444444444</u><br />';
$texte.='5555555555<u>6666666666</u>7777777777<br />';
$temp=$texte;//on place le texte dans une variable que l'on modifiera par la suite
$compteur=0;//compteur du nombre de caracteres affiches
$total=0;//nombre total de caractere a afficher
while($compteur<=$nb)
{
$max=strlen($temp);//valeure du texte en cours
//rechercher la position du < de la 1ere balise (donc celle qui ouvre)
$posopen1=strpos($temp,"<");
//trouver la fin de la balise
$posopen2=strpos($temp,">");
//longueure de la balise ouvrante
$long=$posopen2-$posopen1+1;
// $openbal=substr($temp,$posopen1,$long);//nom de la balise complete
//incrementation du compteur : compteur + position de la fin de balise - longeure de la balise
$intermediaire=$posopen2-$long+1;
//si on depasse le compeur, on force l'arret
if($compteur+$intermediaire>$nb)
break;
$compteur+=$intermediaire;
$total+=$posopen2+1;
$temp=substr($texte,$total,$max-$intermediaire);
}
$resum=substr($texte,0,$total);
return $resum;
}
?> |
Partager