Controlla se una stringa contiene una sottostringa in PHP
-
Usa la funzione
strpos()
per verificare se una stringa contiene una sottostringa in PHP -
Usa la funzione
preg_match()
per verificare se una stringa contiene una sottostringa in PHP
Questo articolo introdurrà diversi metodi per controllare se una stringa contiene una sottostringa in PHP usando le funzioni strpos()
e preg_match()
.
Usa la funzione strpos()
per verificare se una stringa contiene una sottostringa in PHP
Useremo la funzione incorporata strpos()
per controllare se una stringa contiene una sottostringa. Questo comando controlla l’occorrenza di una sottostringa passata; la sintassi corretta per eseguire ciò è la seguente:
strpos($originalString, $checkString, $offset);
La funzione incorporata strpos()
ha tre parametri, che sono discussi di seguito:
Parametri | Descrizione | |
---|---|---|
$originalString |
obbligatorio | È la stringa che vogliamo controllare per la sottostringa. |
$checkString |
obbligatorio | È la stringa che vogliamo controllare in $checkString . |
$offset |
opzionale | È la posizione iniziale del processo di ricerca; se l’offset è negativo, il processo di ricerca inizierà dalla fine. |
Questa funzione restituisce la posizione della sottostringa rispetto alla posizione della stringa originale. Il programma sotto mostra come possiamo usare la funzione strpos()
per controllare se una stringa contiene una sottostringa.
<?php
$mystring = "This is a PHP program.";
if (strpos($mystring, "program.") !== false) {
echo("True");
}
?>
Produzione:
True
Se passiamo il parametro $offset
, la funzione inizierà la ricerca dalla posizione specificata.
<?php
$mystring = "This is a PHP program.";
if (strpos($mystring, "PHP", 13) !== false) {
echo("True");
} else {
echo("False");
}
?>
Produzione:
False
L’output ha mostrato False
perché la stringa che abbiamo cercato era prima dell’offset.
Usa la funzione preg_match()
per verificare se una stringa contiene una sottostringa in PHP
In PHP, possiamo anche usare la funzione preg_match()
per controllare se una stringa contiene una parola specifica. Questa funzione utilizza espressioni regolari per trovare la corrispondenza con i modelli. La sintassi corretta per utilizzare questa funzione è la seguente:
preg_match($pattern, $inputString, $matches, $flag, $offset);
La funzione preg_match()
accetta cinque parametri. Il dettaglio dei suoi parametri è il seguente
Parametri | Descrizione | |
---|---|---|
$regexPattern |
obbligatorio | È il modello che cercheremo nella stringa originale. |
$string |
obbligatorio | È la stringa che cercheremo nella stringa originale. |
$matches |
opzionale | Questo parametro memorizza il risultato del processo di corrispondenza in esso. |
$flag |
opzionale | Questo parametro specifica i flag. Abbiamo due flag per questo parametro: PREG_OFFSET_CAPTURE e PREG_UNMATCHED_AS_NULL . |
$offset |
opzionale | Questo parametro indica la posizione iniziale del processo di abbinamento. |
Useremo il pattern /{$search}/i
per cercare una parola specifica. Il programma che controlla se una stringa contiene una parola specifica è il seguente:
<?php
$mystring = "This is a php program.";
$search = "a";
if(preg_match("/{$search}/i", $mystring)) {
echo "True"; } else {
echo("False");
}
?>
Produzione:
True