Categorie
PHP

Come utilizzare le nuove funzioni di manipolazione delle stringhe in PHP – str_contains, str_starts_with e str_ends_with

PHP è un linguaggio di programmazione popolare utilizzato per lo sviluppo di siti web e applicazioni web. Con PHP 8, sono state introdotte alcune nuove funzioni per lavorare con stringhe, che possono essere molto utili per gli sviluppatori e i programmatori. In questo articolo, esploreremo le nuove funzioni str_contains, str_starts_withe str_ends_with e vedremo come possono essere utilizzate per semplificare alcuni compiti comuni di manipolazione delle stringhe.

str_contains

La prima funzione che esploreremo è str_contains. Questa funzione consente di verificare se una determinata sottostringa è presente all’interno di una stringa. La sintassi per questa funzione è la seguente:

bool str_contains (string $haystack, string $needle);

Il parametro $haystack è la stringa in cui si desidera cercare la sottostringa $needle. La funzione restituisce truese la sottostringa è presente nella stringa, altrimenti restituisce false.

Ecco un esempio di come utilizzare la funzione str_contains:

$string = "Questa è una stringa di esempio";
$substring = "stringa";

if (str_contains($string, $substring)) {
    echo "La sottostringa '$substring' è presente nella stringa '$string'";
} else {
    echo "La sottostringa '$substring' non è presente nella stringa '$string'";
}

In questo esempio, la funzione str_contains restituisce true, poiché la sottostringa “stringa” è presente nella stringa “Questa è una stringa di esempio”.

In precedenza per ottenere lo stesso risultato si utilizzava la funzione strpos o preg_match

$string = "Questa è una stringa di esempio";
$substring = "stringa";

if (strpos($string, $substring) !== false) {
    echo "La sottostringa '$substring' è presente nella stringa '$string'";
} else {
    echo "La sottostringa '$substring' non è presente nella stringa '$string'";
}
$string = "Questa è una stringa di esempio";
$substring = "stringa";

if (preg_match("/$substring/", $string)) {
    echo "La sottostringa '$substring' è presente nella stringa '$string'";
} else {
    echo "La sottostringa '$substring' non è presente ne
}

str_starts_with

La seconda funzione che esploreremo è str_starts_with. Questa funzione consente di verificare se una determinata stringa inizia con una sottostringa specifica. La sintassi per questa funzione è la seguente:

bool str_starts_with (string $haystack, string $needle);

Il parametro $haystack è la stringa in cui si desidera verificare se inizia con la sottostringa $needle. La funzione restituisce true se la stringa inizia con la sottostringa, altrimenti restituisce false.

Ecco un esempio di come utilizzare la funzione str_starts_with:

$string = "Questa è una stringa di esempio";
$substring = "Questa";

if (str_starts_with($string, $substring)) {
    echo "La stringa '$string' inizia con la sottostringa '$substring'";
} else {
    echo "La stringa '$string' non inizia con la sottostringa '$substring'";
}

In questo esempio, la funzione str_starts_with restituisce true, poiché la stringa “Questa è una stringa di esempio” inizia con la sottostringa “Questa”.

In precedenza per ottenere lo stesso risultato si utilizzava la funzione substr o strpos.

$string = "Questa è una stringa di esempio";
$substring = "Questa";

if (substr($string, 0, strlen($substring)) === $substring) {
    echo "La stringa '$string' inizia con la sottostringa '$substring'";
} else {
    echo "La stringa '$string' non inizia con la sottostringa '$substring'";
}
$string = "Questa è una stringa di esempio";
$substring = "Questa";

if (strpos($string, $substring) === 0) {
    echo "La stringa '$string' inizia con la sottostringa '$substring'";
} else {
    echo "La stringa '$string' non inizia con la sottostringa '$substring'";
}

str_ends_with

Infine, la terza funzione che esploreremo è str_ends_with. Questa funzione consente di verificare se una determinata stringa termina con una sottostringa specifica. La sintassi per questa funzione è la seguente:

bool str_ends_with (string $haystack, string $needle);

Il parametro $haystack è la stringa in cui si desidera verificare se termina con la sottostringa $needle. La funzione restituisce true se la stringa termina con la sottostringa, altrimenti restituisce false.

Ecco un esempio di come utilizzare la funzione str_ends_with:

$string = "Questa è una stringa di esempio";
$substring = "esempio";

if (str_ends_with($string, $substring)) {
    echo "La stringa '$string' termina con la sottostringa '$substring'";
} else {
    echo "La stringa '$string' non termina con la sottostringa '$substring'";
}

Nell’esempio, la funzione str_ends_with restituisce true, poiché la stringa “Questa è una stringa di esempio” termina con la sottostringa “esempio”.

In precedenza per ottenere lo stesso risultato si utilizzava la funzione substr o la funzione strrpos.

$string = "Questa è una stringa di esempio";
$substring = "esempio";

if (substr($string, -strlen($substring)) === $substring) {
    echo "La stringa '$string' termina con la sottostringa '$substring'";
} else {
    echo "La stringa '$string' non termina con la sottostringa '$substring'";
}
$string = "Questa è una stringa di esempio";
$substring = "esempio";

if (strrpos($string, $substring) === strlen($string) - strlen($substring)) {
    echo "La stringa '$string' termina con la sottostringa '$substring'";
} else {
    echo "La stringa '$string' non termina con la sottostringa '$substring'";
}

Conclusioni

In conclusione, le nuove funzioni str_contains, str_starts_with e str_ends_with in PHP offrono un modo semplice e intuitivo per verificare la presenza di sottostringhe all’interno di una stringa, controllare se una stringa inizia o termina con una sottostringa specifica.

Queste funzioni possono rendere il codice più leggibile e facile da mantenere rispetto alle vecchie alternative utilizzate in precedenza.

Fonti

https://www.php.net/manual/en/function.str-contains.php

https://www.php.net/manual/en/function.str-starts-with.php

https://www.php.net/manual/en/function.str-ends-with.php

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.