Sarà che mi sono fatto prendere dal nervoso ormai!(Il mio pc sta rischiando seriamente
) ma non riesco a capire cosa non va in questo codice:
Codice PHP:
<?php
$max_char=500;
$last_space=array();
$stringa=array();
$stringa_ok=array();
while ($news=mysql_fetch_assoc($result)){
$lungh=strlen($news['DESCRIZIONE']);
$divisione=bcdiv($lungh,$max_char, 0);
$div_int=$lungh%$max_char;
echo $lungh."<br \>";
echo $divisione."<br \>";
echo $div_int."<br \>";
if ($divisione > 1){
$pagine=$divisione;
if ($div_int!=0){
$pagine++;}
$i=0;
while ($i<$pagine){
if ($i==0){
$stringa['$i']=substr($news['DESCRIZIONE'],0,$max_char);
$last_space['$i']=strrpos($stringa," ");
$stringa_ok['$i']=substr($stringa,0,$last_space['$i']);
echo "Stringa ";
echo $i."
";
echo"Ultimo carattere ";
echo $last_space['$i']."
";
$i++;}
else{
$prec=$i-1;
$inizio=$last_space['$prec'];
$max_char=$inizio+$max_char;
$stringa['$i']=substr($news['DESCRIZIONE'],$inizio,$max_char);
$last_space['$i']=strrpos($stringa," ");
$stringa_ok['$i']=substr($stringa,$inizio,$last_space['$i']);
echo "Stringa ";
echo $i."
";
echo"Primo carattere ";
echo $inizio."
";
echo"Ultimo carattere ";
echo $last_space['$i']."
";
$i++;
}
}
}
}
?>
Praticamente il codice dovrebbe dividere la stringa che gli arriva ($news['....) ogni 500 caratteri con un controllo per non troncare l'ultima parola...quindi diminuisce in caso i caratteri quando incontra l'ultimo spazio...
gli echo dovrebbero visualizzare in base alla stringa che ho (è formata da 1100 caratteri)
Stringa 0
Ultimo carattere 496
Stringa 1
Primo carattere 496
Ultimo carattere 996
Stringa 2
Primo carattere 996
Ultimo carattere 1100
e invece NO!!! MI VISUALIZZA QUESTO:
Stringa 0
Ultimo carattere
Stringa 1
Primo carattere
Ultimo carattere
Stringa 2
Primo carattere
Ultimo carattere
quindi non riesce a leggere il contenuto di $last_space['$i'], $ inizio e quindi la stringa non me la divide in modo corretto....
Qualcuno riesce a trovare dove sta l'errore???
aiutatemi per favore....(anzi...aiutate il mio pc :quote: )