mercoledì 8 novembre 2017

Scoprire se una parola è contenuta in una frase in PHP

Programmando con il sacro php, potrebbe sicuramente capitare di voler sapere se una parola è contenuta all'interno di una frase, o più genericamente, se una stringa è presente in un testo più ampio.
Per rispondere a questa legittima curiosità, ovviamente è possibile utilizzare una funzione nativa del php, dalla sintassi semplice ed intuitiva, una delle tante funzioni per la gestione delle stringhe.
Vediamo subito quale.


Come sapere se una parola è contenuta in una frase in PHP


Per poter fare il cosiddetto instr php (sintassi nota a chi proviene da altri linguaggi di programmazione), occorre utilizzare la funzione strrpos.
Ecco la sintassi da utilizzare:

<?php
    $testo="Il suo nome è Franco Franchi";
    $parola="Franco";
    if (strpos($testo,$parola)===false) echo "Parola '$parola' NON trovata";
    else echo "Parola '$parola' trovata";
?>


Tramite il comando php strpos infatti, sarà possibile verificare la presenza di una parola all'interno di una frase.
Nell'esempio citato, si controlla poi il tutto utilizzando una if un po' particolare, con 3 uguali al posto dei classici due, questo perchè strpos restituisce -1 in caso di mancato risultato, ma potrebbe comunque restituire 0 se la parola cercata fosse all'inizio della frase.

La funzione strpos restituisce la posizione esatta dell'occorrenza della stringa cercata, quindi può essere utilizzata anche per fare replace o sostituizioni mirate.

Un'ultima nota su questa utile funzione di ricerca all'interno delle stringhe, è che strpos php è case sensitive, ovvero, restituisce risultato positivo solo se la parola presente nel testo è scritta esattamente come la parola cercata, con i caratteri maiuscoli o minuscoli uguali.

Lascia un commento!