Scusatemi ragazzi. Cerco da mesi un codice che mi aiutasse a dividere testo proveniente da DB in + pagine e credo grazie a voi di averlo trovato.
E' solo che vorrei una mano nel farlo funzionare.
Ho provato ma... sono una schiappa.codice:<?php session_start (); include("dbconnect.php"); $query = "select *, DATE_FORMAT(data, '%d.%m.%Y') as data2 FROM articoli where id='$id_articolo';"; $risultato = mysql_query($query,$db) or die ("impossibile leggere News".mysql_error()); while ($valori = mysql_fetch_array($risultato)) { $_GET['id']; $titolo= $valori["titolo"]; $testo = $valori["testo"]; $autore = $valori["autore"]; $urlargomentoa = $valori["urlargomentoa"]; $argomentoa = $valori["argomentoa"]; $urlargomentob = $valori["urlargomentob"]; $argomentob = $valori["argomentob"]; $data2 = $valori["data2"]; echo" $titolo "; echo" scritto da: $autore -:- in data $data2 "; $frase = "<div align=\"justify\"</div>$testo"; echo creaIntro($frase, 2000); echo" Argomenti correlati: <a href=\"$urlargomentoa\">1. $argomentoa</a> -:- <a href=\"$urlargomentob\">2.$argomentob</a>"; } mysql_free_result ($risultato); mysql_close($db); // -- funzione per tagliare il testo function creaIntro($frase,$numero_di_caratteri) { // cerco i punti in cui terminano le frasi preg_match_all("^(\<br /\>)+^",$frase,$out,PREG_OFFSET_CAPTURE); // cerco l'interruzione più vicina a $numero_di_caratteri $minima_distanza = strlen($frase); $offset_minima_distanza = false; foreach ($out[0] as $offset) { $distanza = abs($numero_di_caratteri - $offset[1]); if($distanza < $minima_distanza) { $minima_distanza = $distanza; $offset_minima_distanza = $offset[1]; } } if($offset_minima_distanza) { // restituisco l'introduzione some sottostringa // di lunghezza $offset_minima_distanza + 1 echo substr($frase, 0, $offset_minima_distanza); } else { // se non ho trovato una interruzione restituisco tutta la frase echo $frase; } } ?>
Mi aiutereste?![]()

Rispondi quotando