back to top

PHP strpos(): verificare se una stringa contiene un carattere o una parola

Per verificare con PHP se una stringa contiene una lettera o una parola è sufficiente utilizzare la funzione strpos(). Vediamo un esempio:

$a = 'Su Mr. Webmaster trovi tante cose su PHP';
if (strpos($a, 'PHP') !== false) {
  echo 'trovato';
}

Importante sottolineare che l’uso di !== false è fondamentale: utilizzare “!= false” o “== true” non produrrebbe il medesimo risultato! La funzione strpos(), infatti, restituisce la posizione del carattere (offset) in corrispondenza del quale inizia la lettere o la parola cercata all’interno della nostra stringa oppure false se questa non viene trovata. Poiché 0 è un offset valido e 0 potrebbe essere interpretato come false, l’unico operatore che ci da la certezza che la lettera o la parola non siano effettivamente presenti nella stringa è l’operatore “!==”.

Importante sottolineare, ancora, che la funzione strpos() è case sensistive, pertanto la risposta potrebbe essere negativa qualora il case della lattere o della parola cercata non sia corretto. Qualora si desideri effettuare ricerche NON case-sensitive è possibile utilizzare la funzione stripos():

$a = 'Su Mr. Webmaster trovi tante cose su PHP';
if (stripos($a, 'php') !== false) {
  echo 'trovato';
}

Creiamo la nostra funzione personalizzata

Vediamo come costruire una funzione personalizzata per verificare la presenza si una sotto-stringa all’interno di una stringa con PHP:

function contiene($stringa, $cerca, $case_sensitive=false) {
  if ($case_sensitive)
    return strpos($stringa, $cerca) !== false;
  else
    return stripos($stringa, $cerca) !== false;
}

La nostra funzione prevede tre parametri:

  • il primo è la stringa al cui interno vogliamo effettuare la ricerca;
  • il secondo è la lettera o la parola che vogliamo cercare;
  • il terzo è un booleano che indica se vogliamo, omeno, effettuare una ricerca case sensitive (di default è “false”).

Esempio di utilizzo:

$a = 'Su Mr. Webmaster trovi tante cose su PHP';
if (contiene($a, 'php') !== false) {
  echo 'trovato';
}

Altri contenuti interessanti

Pubblicità
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Cannot modify header information – headers already sent: come risolvere l’errore PHP

L'errore di PHP cannot modify header information - headers...

Ricavare l’estensione di un file con PHP

Quando si lavora con i file in un'applicazione web,...

GD Library: creazione, manipolazione e ridimensionamento immagini con PHP

Le librerie GD (o GD Library), sono componenti fondamentali...

PHP: impostare il fuso orario italiano

Le tue pagine PHP non mostrano l’orario corretto? Probabilmente...

5 script PHP per gestire BBCode

A volte può aversi l'esigenza di dover offrire agli...
Pubblicità