Guarda non so bene che cosè che non ti funziona, ma ad occhio mi sembra che tu stia scrivendo molto più del necessario, stripos consente anche di settare l'offset (il primo carattere prima di effettuare la ricerca).
Codice PHP:
<?PHP
$stringa="In seguito alla separazione dei genitori (la madre dal 1792 convive con il colto e ricchissimo Carlo Imbonati, prima in Inghilterra, poi in Francia), Alessandro Manzoni dal 1790 al 1803 viene educato in collegi religiosi, prima dal 1796 al 1798 presso il collegio Sant'Antonio dei padri Somaschi a Lugano, poi presso i Barnabiti. Pur essendo insofferente di tale pedantesca educazione, della quale denunciò i limiti anche disciplinari, e pur venendo giudicato uno studente svogliato, egli, da tali studi deriva una buona formazione classica e un gusto letterario. A quindici anni sviluppa una sincera passione per la poesia e scrive due notevoli sonetti. Il nonno materno gli insegna a trarre dall'osservazione del reale, conclusioni rigorose ed universali.Il giovane Manzoni dal 1803 al 1805 vive con l'anziano don Pietro, dedica buona parte del suo tempo alle ragazze e al gioco d'azzardo, ma ha modo anche di frequentare l'ambiente illuministico dell'aristocrazia e dell'alta borghesia milanese. Il compiacimento neoclassico del tempo gli ispira le prime esperienze poetiche, modulate sull'opera di Vincenzo Monti, idolo letterario del momento. Ma, oltre questi, il Manzoni si volge a Giuseppe Parini, portavoce degli ideali illuministici, nonché dell'esigenza di moralizzazione. A questo periodo si devono Il trionfo della libertà, Adda, I quattro sermoni che recano l'impronta di Monti e di Parini, ma anche l'eco di Virgilio e di Orazio. Nel 1805 raggiunge la madre ad Auteuil, dove passa due anni, partecipando al circolo letterario dei cosiddetti ideologi, filosofi di scuola ottocentesca, tra i quali si fa molti amici, in particolare Claude Fauriel e ha modo di apprendere le teorie volterriane. Alessandro si imbeve della cultura francese classicheggiante in arte, scettica e sensista in filosofia (i sensi sono alla base della conoscenza; l'illuminismo è la critica razionale della realtà; lotta al pregiudizio e alla tradizione derivata dall'autorità; i problemi religiosi non si basano sull'esperienza, ma sulla superstizione) ed assiste all'evoluzione del razionalismo verso posizioni romantiche.";
$max_char=500;
$curr_pos=0;
echo "lunghezza stringa ".strlen($stringa)."
";
while ($curr_pos<strlen($stringa)){
//cerco il primo spazio disponibile per il taglio
//se tolgo il +1 incomincia a cercare da prima dello spazio e trova sempre los tesso impallandosi
$src_cut= stripos ($stringa , " ", $curr_pos+$max_char+1);
//mi assicuro che stripos non "fuoriesca" dalla stringa e se lo fa segnalo il prossimo taglio allpultimo carattere
$next_cut=$src_cut ? $src_cut : strlen($stringa);
//faccio un po di eco come mi pare
echo $curr_pos."-".$next_cut." \"".substr($stringa, $curr_pos, $next_cut-$curr_pos)."\"
";
//setto la posizione corrente all'ultimo taglio
$curr_pos=$next_cut;
}
?>
Poi se vuoi fare il Push dei valori negli array non c'è problema basta http://it2.php.net/function.array-push
Edit: questo codice da un codice di errore perchè naturalmente l'offset diventa più grande della lunghezza della stringa stessa, basta metterci un if, tuttavia a parte il messaggio strpos fallisce e il controllo assegna $next_cut il valore di strlen($stringa)