Prüfen, ob ein String einen Substring in PHP enthält
-
Verwenden Sie die
strpos()
Funktion, um zu prüfen, ob eine Zeichenkette in PHP eine Teilzeichenkette enthält -
Verwenden Sie die Funktion
preg_match()
, um zu prüfen, ob eine Zeichenkette in PHP eine Unterzeichenkette enthält
Dieser Artikel stellt verschiedene Methoden vor, um in PHP mit den Funktionen strpos()
und preg_match()
zu prüfen, ob eine Zeichenkette eine Teilzeichenkette enthält.
Verwenden Sie die strpos()
Funktion, um zu prüfen, ob eine Zeichenkette in PHP eine Teilzeichenkette enthält
Wir werden die eingebaute Funktion strpos()
verwenden, um zu prüfen, ob eine Zeichenkette eine Teilzeichenkette enthält. Dieser Befehl prüft das Vorkommen einer übergebenen Teilzeichenkette; die korrekte Syntax zur Ausführung lautet wie folgt:
strpos($originalString, $checkString, $offset);
Die eingebaute Funktion strpos()
hat drei Parameter, die weiter unten besprochen werden:
Parameter | Beschreibung | |
---|---|---|
$originalString |
obligatorisch | Es ist die Zeichenkette, die wir auf die TeilZeichenkette prüfen wollen. |
$checkString |
obligatorisch | Es ist die Zeichenkette, die wir in der $checkString einchecken wollen. |
$offset |
optional | Es ist die Startposition des Suchprozesses; wenn der Offset negativ ist, beginnt der Suchprozess am Ende. |
Diese Funktion gibt die Position der Teilzeichenkette relativ zur Position der ursprünglichen Zeichenkette zurück. Das Programm unten zeigt, wie wir die Funktion strpos()
verwenden können, um zu prüfen, ob eine Zeichenkette eine Teilzeichenkette enthält.
<?php
$mystring = "This is a PHP program.";
if (strpos($mystring, "program.") !== false) {
echo("True");
}
?>
Ausgabe:
True
Wenn wir den Parameter $offset
übergeben, startet die Funktion die Suche an der angegebenen Stelle.
<?php
$mystring = "This is a PHP program.";
if (strpos($mystring, "PHP", 13) !== false) {
echo("True");
} else {
echo("False");
}
?>
Ausgabe:
False
Die Ausgabe hat False
gezeigt, weil die Zeichenkette, die wir gesucht haben, vor dem Offset lag.
Verwenden Sie die Funktion preg_match()
, um zu prüfen, ob eine Zeichenkette in PHP eine Unterzeichenkette enthält
In PHP können wir auch die Funktion preg_match()
verwenden, um zu prüfen, ob eine Zeichenkette ein bestimmtes Wort enthält. Diese Funktion benutzt reguläre Ausdrücke, um Muster abzugleichen. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt:
preg_match($pattern, $inputString, $matches, $flag, $offset);
Die Funktion preg_match()
akzeptiert fünf Parameter. Die Einzelheiten ihrer Parameter sind wie folgt
Parameter | Beschreibung | |
---|---|---|
$regexPattern |
obligatorisch | Es ist das Muster, das wir in der ursprünglichen Zeichenkette suchen werden. |
$string |
obligatorisch | Es ist die Zeichenkette, die wir in der ursprünglichen Zeichenkette suchen werden. |
$matches |
optional | Dieser Parameter speichert das Ergebnis des Abgleichsvorgangs darin. |
$flag |
optional | Dieser Parameter gibt die Flags an. Wir haben zwei Flags für diesen Parameter: PREG_OFFSET_CAPTURE und PREG_UNMATCHED_AS_NULL . |
$offset |
optional | Dieser Parameter gibt Auskunft über die Startposition des Matching-Prozesses. |
Wir werden das Muster /{$search}/i
verwenden, um nach einem bestimmten Wort zu suchen. Das Programm, das prüft, ob eine Zeichenkette ein bestimmtes Wort enthält, ist wie folgt:
<?php
$mystring = "This is a php program.";
$search = "a";
if(preg_match("/{$search}/i", $mystring)) {
echo "True"; } else {
echo("False");
}
?>
Ausgabe:
True
Verwandter Artikel - PHP String
- Wie man alle Leerzeichen aus einer Zeichenkette in PHP entfernt
- Wie man DateTime in PHP in Strings konvertiert
- Wie konvertiert man Strings in PHP in Datum und Uhrzeit
- Wie man in PHP eine Ganzzahl in eine Zeichenkette konvertiert
- Wie man in PHP ein Array in eine Zeichenkette konvertiert
- Wie man in PHP eine Zeichenkette in eine Zahl konvertiert