venerdì 24 novembre 2017

Come estrarre una parte di un testo in php

Oggi parliamo di substring php, ovvero di quella funzione che consente di estrarre una parte di un testo.
E' il caso in cui abbiamo una frase o un testo di varia natura, e per qualche motivo vogliamo tagliarla in due prendendone solo la prima parte, oppure la parte centrale, o la parte finale, oppure ancora, solo una lettera.

Grazie alla funzione che andrò ad illustrare infatti, potrete ottenere parti di testo di una stringa più grande, il tutto con la sacra scuola php.


Come estrarre una parte di un testo in php


Per poter pescare specifiche parti di una stringa di testo in php, si usa una funzione chiamata substr.
Questa funzione consente infatti di pescare diverse porzioni di testo, a seconda dei parametri che le si passano.

Qui di seguito qualche esempio pratico.

Estrarre le prime 3 lettere di una frase in php:

<?php
    $stringa="abcdefg";
    echo substr($stringa,0,3);
?>


Saltare la prima lettera di una stringa:

<?php
    $stringa="abcdefg";
    echo substr($stringa,1);
?>


Estrarre la prima lettera di una stringa:

<?php
    $stringa="abcdefg";
    echo substr($stringa,0,1);
?>


Estrarre l'ultima lettera di una stringa:

<?php
    $stringa="abcdefg";
    echo substr($stringa,-1,1);
?>


Direi che è tutto molto chiaro.
Forse vale solo la pena di specificare che indicando alla substr php il parametro 0, si intende dire che bisogna iniziare l'estrazione dal primo carattere, e che quindi il secondo parametro indica la lunghezza del testo da estrarre (es. 0,2 = pesco le prime due lettere di una parola).
Invece, indicando il primo parametro come -1, si intende dire che la ricerca parte dalla fine del testo, e che quindi -1,1 = pesca l'ultima lettera, mentre -2,1 pesca la penultima, e -2,2 pesca le ultime due lettere di una frase, come da esempio sotto riportato:

<?php
    $stringa="abcdefg";
    echo substr($stringa,-2,2);
?>


Infine, volendo è possibile pensare ad una stringa come un array di lettere, in questo caso è possibile pescare l'esatta posizione di una singola lettera usando questa sintassi:

<?php
    $stringa="abcdefg";
    echo $stringa{0};
?>


Senza quindi usare la substr, è possibile richiamare la specifica lettera usando la parentesi graffa ed il numero corrispondente alla posizione (nell'esempio 0 = prima lettera).

Direi che anche per oggi è tutto per le funzioni per le stringhe php.
Questa substring in particolare, potrebbe tornarvi molto utile... buon coding!

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon