Prüfen, ob ein String einen Substring in PHP enthält

Minahil Noor 30 Januar 2023
  1. Verwenden Sie die strpos() Funktion, um zu prüfen, ob eine Zeichenkette in PHP eine Teilzeichenkette enthält
  2. Verwenden Sie die Funktion preg_match(), um zu prüfen, ob eine Zeichenkette in PHP eine Unterzeichenkette enthält
Prüfen, ob ein String einen Substring in PHP 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