SWIS Text Snippet è un piccolo progetto rilasciato sotto licenza Open Source (MIT License) che permette di generare facilmente snippet di testo, cioè porzioni di quest'ultimo. Si tratta di una soluzione utile e facile da utilizzare quando si desidera evidenziare dei termini specifici. Per questo motivo è particolarmente indicato in applicazioni basate sulla ricerca, quando si vogliono evidenziare delle parole o delle frasi all'interno di un periodo.
Installazione di SWIS Text Snippet
L'installazione di SWIS Text Snippet può essere effettuata tramite Composer come un qualsiasi altro package PHP:
composer require swisnl/textsnippet
In alternativa è possibile includere il file manualmente TextSnipet.php
richiamandolo nel proprio script.
Text highlight
Per testare SWIS Text Snippet è sufficiente fare riferimento ad un semplice Lorem Ipsum come il seguente:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ... Etiam bibendum lorem nec tempus sollicitudin. ... Sed in dapibus lorem. ... Nunc turpis ipsum, bibendum quis sodales sed, ullamcorper et lorem. Donec et metus hendrerit, interdum elit ut, dignissim dui.
Se per esempio volessimo evidenziare ogni ricorrenza del termine ipsum
all'interno del testo dovremmo richiamare SWIS Text Snippet in questo modo tramite il metodo createSnippet()
:
$snippet = new TextSnippet();
$snippet->createSnippet('ipsum', $lorumIpsum);
Il risultato dell'esecuzione del codice riportato in precedenza dovrebbe essere il seguente con la parola passata come argomento in grassetto:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ... Etiam bibendum lorem nec tempus sollicitudin. ... Sed in dapibus lorem. ... Nunc turpis ipsum, bibendum quis sodales sed, ullamcorper et lorem. Donec et metus hendrerit, interdum elit ut, dignissim dui.
Configurazioni particolari
Come impostazione predefinita SWIS Text Snippet considera un numero minimo di parole pari a 30. Il limite massimo è fissato invece a 100.
$minWords = 30;
$maxWords = 100;
Questo setting può essere comunque modificato stabilendo dei valori arbitrati per la delimitazione dell'intervallo:
$snippet = new TextSnippet();
$snippet->setMinWords(15);
$snippet->setMaxWords(50);
È inoltre possibile delimitare le parole evidenziate tramite tag HTML, per far questo è necessario richiamare il metodo setHighlightTemplate()
e utilizzare il tag %word%
:
$snippet = new TextSnippet()
$snippet->setHighlightTemplate('<strong>%word%</strong>')
Licenza e distribuzione
SWIS Text Snippet viene distribuito sotto MIT License tramite un repository dedicato su GitHub. Per l'uso a scopo commerciale viene richiesto di donare un albero al mondo (treeware).