Domanda

ho questo script

$content = string
if(!isset(

ho questo script

<*>

funziona bene la prima volta (se la pagina non è impostata o il numero di pagina è 1) ma se il mio numero di pagina è maggiore di 1 divide le mie parole. perché $ limit viene aumentato e anche $ limit viene impostato su un offset che corrisponde a un carattere spazio anche l'inizio nella funzione substr () viene aumentato e sostanzialmente sposta l'intero blocco e l'ultimo carattere che ottengo non è il mio spazio desiderato ma prima un paio di lettere dopo lo spazio (spero di essermi fatto capire). come posso risolvere questo problema? grazie

GET['page'])){ $page = 1; } else{ $page =

ho questo script

<*>

funziona bene la prima volta (se la pagina non è impostata o il numero di pagina è 1) ma se il mio numero di pagina è maggiore di 1 divide le mie parole. perché $ limit viene aumentato e anche $ limit viene impostato su un offset che corrisponde a un carattere spazio anche l'inizio nella funzione substr () viene aumentato e sostanzialmente sposta l'intero blocco e l'ultimo carattere che ottengo non è il mio spazio desiderato ma prima un paio di lettere dopo lo spazio (spero di essermi fatto capire). come posso risolvere questo problema? grazie

GET['page']; } while($content[$limit]!= ' '){ $limit++; } print substr($content,($page-1)*$limit, $limit);

funziona bene la prima volta (se la pagina non è impostata o il numero di pagina è 1) ma se il mio numero di pagina è maggiore di 1 divide le mie parole. perché $ limit viene aumentato e anche $ limit viene impostato su un offset che corrisponde a un carattere spazio anche l'inizio nella funzione substr () viene aumentato e sostanzialmente sposta l'intero blocco e l'ultimo carattere che ottengo non è il mio spazio desiderato ma prima un paio di lettere dopo lo spazio (spero di essermi fatto capire). come posso risolvere questo problema? grazie

È stato utile?

Soluzione

Prova questo:

print substr($content, ($page-1) *  $limit, strpos  ( $content, ' ' , ($page-1) *  $limit));

Questo dice:

  

Prendi la sottostringa di $ content,   a partire dalla pagina indicata * il limite   per ogni pagina, e mi ha dato tutto il   caratteri fino alla posizione del   spazio successivo.

Altri suggerimenti

Come diceva Frank Farmer , usa wordwrap , ma con uno strano delimitatore. Quindi usa explode con quel delimitatore per ottenere un array.

$limit = 500; // max chars per page?
$content = "lots of text ..."; // the whole article?

if(!isset(

Come diceva Frank Farmer , usa wordwrap , ma con uno strano delimitatore. Quindi usa explode con quel delimitatore per ottenere un array.

<*>GET['page'])){ $page = 1; } else { $page = intval(

Come diceva Frank Farmer , usa wordwrap , ma con uno strano delimitatore. Quindi usa explode con quel delimitatore per ottenere un array.

<*>GET['page']); } $pages = explode("@BREAK@", wordwrap($content, $limit, "@BREAK@")); print $pages[$page-1];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top