3 modi per verificare se una stringa PHP ne contiene un'altra

Pubblicato: 2022-02-13

Probabilmente la parte più frustrante della scrittura di codice PHP per capire se una stringa PHP contiene un'altra stringa. Ma non preoccuparti: in questo tutorial mostreremo quanto sia facile identificare una sottostringa usando diversi metodi. Oltre a mostrarli, discuteremo anche dei loro pro e, ovviamente, dei loro contro. Tieni presente che esiste più di un metodo per "sradicare" le sottostringhe.




Sommario

Un paio di considerazioni se la stringa PHP ne contiene un'altra

Il primo grave errore nel test di una sottostringa è l'utilizzo dell'operatore di confronto sbagliato. Ad esempio, se stai usando != per verificare la presenza di una sottostringa, potresti ritrovarti con quello che viene chiamato un falso positivo. In questo caso, è meglio usare !==, che confronta il tipo.

Se hai problemi a capire quale operatore usare in un determinato contesto, puoi fare riferimento a questo tutorial PHP per informazioni dettagliate sugli operatori e sulle loro funzioni. Troverai anche esempi di codice spiegati per il programmatore inesperto.

Come abbiamo detto, esistono diversi metodi per capire se una stringa contiene una parola o un'altra stringa. Ad oggi, ci sono cinque metodi, ma solo i primi tre sono veloci.

  1. stripos () per la distinzione tra maiuscole e minuscole per verificare se una stringa contiene un'altra stringa.
  2. Regex per stringa in stringa
  3. strstr () per una stringa in un'altra stringa.

1. Verifica di una sottostringa utilizzando il riferimento alla stringa con distinzione tra maiuscole e minuscole stripos()

Il modo più rapido e indolore per verificare se una stringa ne contiene un'altra è utilizzare la funzione stripos() che fondamentalmente ricerca se una stringa contiene una parola particolare. Quello che succede è che la funzione restituirà TRUE se la stringa contiene una sottostringa/parola o FALSE se la stringa non contiene nessuna delle due.




Per aiutarti a visualizzare come funziona stripos(), ecco un esempio.

$first_string = "Ho 10 anni più di te."

$parola_cercata= “anni”

$carattere = "io"




$sottostringa_mirata = "10 anni"

If (strpos ($first_String, $sought_word) !== false {

echo 'Questa parola “ '.$sought_word.'” è nella stringa.';

}

(questo ti dirà che gli "anni" del mondo possono essere trovati in questa particolare stringa)




if (stripos ($first_string, $character) !== false) {

echo 'Questo carattere “ '.$carattere.' “può essere trovato in questa particolare stringa.';

}

(queste righe ti diranno che "io" può essere trovato nella stringa data)

if (strpos ($prima_stringa, $sottostringa mirata) !== false {




echo 'La sottostringa di destinazione “ '.targeted_substring.'”può essere trovata in questa stringa.”

(queste righe ti diranno che la sottostringa "5 anni" si trova nella stringa).

if (strpos($first_string, $character) != false) {

echo 'Questo carattere “ '.$carattere.' "appare in questa stringa."

} altro {

echo 'Questo carattere “ '.$carattere.' “ non viene visualizzato in questa stringa.

(Queste righe ti diranno che il carattere "I" non può essere trovato in quella particolare stringa.)

  • Correlati: 5 migliori corsi di sviluppo Web online gratuiti
  • 5 posti migliori per imparare il web design

2.Regex per una sottostringa in una stringa

Le espressioni regolari, note anche come Regex, sono più adatte per la ricerca di modelli complessi all'interno di una determinata sottostringa.

Ecco un esempio di come cercare sottostringhe, utilizzando le funzioni definite nell'esempio precedente.

$first_string = "Ho 10 anni più di te."

$parola_cercata= “anni”

$carattere = "io"

$sottostringa_mirata = "10 anni"

If (preg_match('/years/', $first_string)) {

echo 'La parola “ '.$sought_word.' “può essere trovato in questa stringa.';

}

(dice all'utente che la parola "anni" può essere trovata in quella stringa)

if (preg_match('/I/', $first_string)) {

echo 'Il carattere “'.$carattere.; “si presenta in questa stringa.' ;

}

(ti dice che "io" compare nella tua stringa.)

If (preg_match('/10 anni/', $first_string)) {

echo 'Questa sottostringa: '.$sottostringa_mirata.' "viene visualizzato nella stringa fornita.'

}

(ti dice che la sottostringa, definita come "10 anni" compare nella stringa dichiarata).

3. Funzioni Strstr() per trovare sottostringhe nelle stringhe

La funzione strstr() è abbastanza versatile, il che significa che può essere utilizzata per cercare sottostringhe, caratteri e parole all'interno di una stringa specifica. Quello che fa fondamentalmente è restituire solo la parte che contiene la prima stringa, dalla prima occorrenza della sottostringa/parola fino alla fine. Ecco un esempio per aiutarti a capire come funziona la funzione

lavori.

$first_string = "Ho 10 anni più di te."

$parola_cercata= “anni”

$carattere = "io"

$sottostringa_mirata = "10 anni"

If (strstr($first_string, $sought_word) !==false) {

echo 'La parola “ '.$sought_word.'”appare nella stringa.;

}

(ti dice che "anni" compare nella stringa)

if (strstr($prima_stringa, $carattere) !==falso) {

echo 'Il carattere” '$carattere.'” compare nella stringa data.';

}

(di' all'utente che il carattere "I" compare nella stringa)

if (strstr($first_string, $targeted_substring) !==false) {

echo 'La sottostringa “'.$targeted_substring.; “ compare nella stringa.';

}

Conclusione

Ecco qua, gente: tre semplici modi per capire se la stringa che state testando ha una sottostringa o meno. Ancora una volta, fai attenzione agli operatori e assicurati di testare la tua stringa usando più di un metodo per evitare risultati falsi positivi.

Se vuoi imparare PHP o qualsiasi lingua, ti suggerisco di seguire il corso online da una delle migliori piattaforme di apprendimento online come Udemy che ti offre qualsiasi tipo di corso a un prezzo molto inferiore. Puoi leggere i dettagli completi su Udemy. Puoi anche controllare la nostra pagina dei coupon di sconto Udemy per le ultime offerte.

Se ti piace questo tutorial sui metodi per verificare che la stringa PHP contenga un'altra stringa, condividila. Vuoi altri suggerimenti, segui whatvwant su Facebook, Twitter e YouTube.