Funzioni e guida su come troncare il testo con PHP

 

In questa guida vedremo varie possibilità su come sia possibile troncare il testo utilizzando PHP.
Un problema comune quando si creano pagine web dinamiche (dove i contenuti provengono da un database, da content management system o da una sorgente esterna come ad esempio un feed RSS è che il testo di input può essere troppo lungo causando qualche problema con il layout della pagina.

Una soluzione è quella di troncare il testo in modo che esso si adatti alla pagina. Sembra semplice, ma spesso i risultati non sono come quelli previsti per il fatto che parole e frasi possono essere tagliate in punti non proprio appropriati.

Troncare il testo con PHP – Funzioni ed esempi

1. Limitare o troncare una stringa con PHP

Ecco una semplice funzione per troncare delle stringhe e che offre una certa flessibilità nella formattazione:

Per gli esempi riportati di seguito useremo il seguente paragrafo costituito da quattro frasi di diversa lunghezza:

 

2. Troncamento al termine della frase (al punto)

L’azione predefinita è quella di troncare dopo il primo “.” (punto) successivo al limite di caratteri impostato ($limit). La stringa sarà interrotta con i carratteri ($pad) “…”

The World Wide Web. When your average person on the street refers to the Internet, they’re usually thinking of the World Wide Web. The Web is basically a series of documents shared with the world written in a coding language called Hyper Text Markup Language or HTML. When you see a web page, like this one, you downloaded a document from another computer which has been set up as a Web Server. (non troncata)

 

The World Wide Web. When your average person on the street refers to the Internet, they’re usually thinking of the World Wide Web. The Web is basically a series of documents shared with the world written in a coding language called Hyper Text Markup Language or HTML…

 

The World Wide Web. When your average person on the street refers to the Internet, they’re usually thinking of the World Wide Web…

 

3. Troncamento alle interruzioni di parola (agli spazi)

Se il testo è costituito da frasi lunghe o avete bisogno di un controllo preciso su tutta la lunghezza della stringa utilizzare l’interruzione sugli spazi delle parole potrebbe essere la soluzione migliore. L’intera frase potrebbe perdere un po di chiarezza ma con questo metodo tutte le parole restano intatte.

The World Wide Web. When your average person on the street refers to the Internet, they’re usually thinking of the World Wide Web. The Web is basically a series of documents shared with the world written in a coding language called Hyper Text Markup Language or HTML. When you see a web page, like this…

 

The World Wide Web. When your average person on the street refers to the Internet, they’re usually thinking of the World Wide Web. The Web is basically a series of documents shared with the world written…

 

The World Wide Web. When your average person on the street refers to the Internet, they’re usually thinking…

 

4. Troncamento dopo un numero di parole

Se si desidera semplicemente troncare il testo dopo un certo numero di parole, allora non sarà necessaria alcuna particolare funzione. Il seguente codice farà quanto richiesto:

Risultato:

The World Wide Web. When your average person on the (10 parole)

Una simile ed alternativa funzione che inserisce anche il padding al troncamento della stringa basato sul numero di parole è la seguente:

Che va utilizzata nel seguente modo:

Il risultato sarà:

The World Wide Web. When your average person on the… (10 parole)

 

5. Chiudere i tags nella stringa troncata

Ovviamente la soluzione più semplice sarebbe quella di rimuovere tutti i tag dalla stringa per essere poi troncata, ma potrebbero esistere numerosi casi in cui questa soluzione non risulti ottimale.
Questa funzione accetta una stringa che contiene tag HTML e tenterà di chiudere automaticamente tutti i tag che sono stati lasciati aperti dal troncamento. Il presupposto al suo funzionamento è che il codice HTML oggetto della funzione sia valido e corretto prima della troncatura, in modo che tutti i tag risultanti aperti vengano chiusi in un ordine valido:

Credit: www.the-art-of-web.com

pixolo ads
Cambia Copertina
4757 | Articolo pubblicato 6 anni fa nella categoria In evidenza, Php - Mysql.
Puoi seguire tutti i nuovi articoli e gli aggiornamenti di Pixolo.it attraverso i Pixolo feeds feed RSS.
Puoi inoltre lasciare un commento, oppure fare un trackback dell'articolo dal tuo sito.