Wenn Sie mit Textdaten in PHP arbeiten, müssen Sie häufig überprüfen, ob eine Zeichenfolge bestimmte Zeichen enthält. Dies kann beispielsweise erforderlich sein, um Benutzereingaben zu validieren oder um festzustellen, ob bestimmte Zeichen in einer Zeichenfolge vorhanden sind.
In PHP gibt es mehrere Möglichkeiten, eine solche Validierung zu implementieren. Eine der einfachsten Methoden ist die Verwendung der Funktion strpos() . Mit dieser Funktion können Sie das erste Vorkommen einer bestimmten Teilzeichenfolge in einer Zeichenfolge finden. Wenn die Funktion einen anderen Wert als false zurückgibt, sind Zeichen in der Zeichenfolge vorhanden.
Sie können auch die Funktion preg_match() verwenden, um eine komplexere Überprüfung auf Zeichen in einer Zeichenfolge durchzuführen. Mit dieser Funktion können Sie mit regulären Ausdrücken suchen. Reguläre Ausdrücke sind ein leistungsfähiges Werkzeug, mit dem Sie nach Zeichenmustern in einer Zeichenfolge suchen können.
In diesem Artikel untersuchen wir beide Methoden, um zu überprüfen, ob Zeichen in einer Zeichenfolge vorhanden sind, und geben Beispiele für ihre Verwendung an. Sie erfahren, wie Sie die Funktionen strpos() und preg_match() verwenden, um das gewünschte Ergebnis zu erzielen.
Was sind Zeichen in einer Zeichenfolge?
Jedes Zeichen in der Zeichenfolge hat seinen eigenen eindeutigen Code. In PHP werden Zeichen normalerweise im UTF-8-Format codiert, das eine breite Palette von Zeichen aus verschiedenen Sprachen unterstützt, einschließlich kyrillischer, lateinischer, asiatischer und anderer Zeichen.
Zeichen in einer Zeichenfolge können mit verschiedenen Funktionen und Operationen in PHP angezeigt und geändert werden. Sie können beispielsweise mithilfe der Funktion überprüfen, ob Zeichen in einer Zeichenfolge vorhanden sind strlen(), die die Anzahl der Zeichen in einer Zeichenfolge zurückgibt. Sie können auch die Funktion verwenden strpos() um nach einem bestimmten Zeichen oder Teilzeichen in einer Zeichenfolge zu suchen.
Grundlegende Methoden zum Überprüfen von Zeichen in einer Zeichenfolge in PHP
PHP bietet verschiedene Methoden an, um zu überprüfen, ob Zeichen in einer Zeichenfolge vorhanden sind, was sie zu den wichtigsten Werkzeugen für die Arbeit mit Textdaten macht. Betrachten wir einige dieser Methoden:
1. Funktion strlen(): Diese Funktion gibt die Länge eines Strings zurück, indem die Anzahl der darin enthaltenen Zeichen gezählt wird. Zum Beispiel gibt der folgende Code "11" aus, da in der Zeile "Hello World!" enthält 11 Zeichen:
$string = "Hello World!";echo strlen($string);
2. Funktion strpos(): Diese Funktion sucht nach dem ersten Vorkommen eines angegebenen Zeichens oder Teilstrings in einer Zeichenfolge und gibt die Position des gefundenen Werts zurück. Der folgende Code gibt beispielsweise "3" aus, da das Zeichen "l" an Position 3 in der Zeile "Hello World!":
$string = "Hello World!";echo strpos($string, "l");
3. Funktion str_contains(): in PHP 8 eingeführt, prüft diese Funktion, ob die angegebene Teilzeichenfolge in der Zeichenfolge vorhanden ist, und gibt true zurück, falls vorhanden, andernfalls false. Zum Beispiel gibt der folgende Code "true" aus, da die Zeichenfolge "Hello World!" enthält die Teilzeichenfolge "World":
$string = "Hello World!";echo str_contains($string, "World");
Dies sind nur einige der beliebtesten Methoden, um Zeichen in einer Zeichenfolge in PHP zu überprüfen. Wenn Sie sie in Kombination oder einzeln verwenden, können Sie ganz einfach verschiedene Aktionen mit dem Text ausführen und dessen Inhalt verwalten.
Methode 1: Verwenden der Funktion str_contains()
PHP bietet eine integrierte Funktion str_contains() , mit der Sie überprüfen können, ob eine bestimmte Teilzeichenfolge in einer Zeichenfolge vorhanden ist.
- str_contains($string, $substring)
- $string - Die ursprüngliche Zeichenfolge, in der nach einer Teilzeichenfolge gesucht werden soll
- $substring - Die zu überprüfende Teilzeichenfolge
Die Funktion str_contains() gibt true zurück, wenn ein Teilstring gefunden wird, und false , wenn kein Teilstring in der Zeichenfolge vorhanden ist.
$string = "Привет, мир!";$subtring1 = "мир";$subtring2 = "пока";if (str_contains($string, $substring1)) else if (str_contains($string, $substring2)) else
In diesem Beispiel gibt die Funktion str_contains() das folgende Ergebnis zurück:
- Der Teilstring "Welt" wurde in der Zeichenfolge gefunden.
- Der Teilstring "noch" wurde in der Zeichenfolge nicht gefunden.
Die Funktion str_contains() ist auch Groß- und Kleinschreibung beachten. Das heißt, wenn die Teilzeichenfolge in der Zeichenfolge in Großbuchstaben angegeben ist und sie in der ursprünglichen Zeichenfolge in Kleinbuchstaben geschrieben ist (und umgekehrt), gibt die Funktion false zurück.
Methode 2: Verwenden der Funktion strpos()
Die zweite Methode, um zu überprüfen, ob Zeichen in einer Zeichenfolge in PHP vorhanden sind, basiert auf der Verwendung der Funktion strpos() . Diese Funktion sucht nach dem ersten Vorkommen des angegebenen Zeichens oder Teilstrings in der angegebenen Zeichenfolge und gibt seine Position oder false zurück , wenn kein Zeichen oder Teilstring gefunden wird.
Sie können Bedingungsoperatoren und die Funktion strpos() verwenden, um zu überprüfen, ob Zeichen in einer Zeichenfolge vorhanden sind. Hier ist ein Beispielcode:
$str = "Пример строки";$char = "и";if (strpos($str, $char) !== false) else
Sie können auch überprüfen, ob eine Teilzeichenfolge in einer Zeichenfolge vorhanden ist, indem Sie der Funktion strpos() ein zweites Argument übergeben - die zu findende Teilzeichenfolge:
$str = "Пример строки";$substring = "имер";if (strpos($str, $substring) !== false) else
Mit der Funktion strpos() und den Bedingungsoperatoren können Sie in PHP nach beliebigen Zeichen oder Teilzeichenfolgen in einer Zeichenfolge suchen.
Methode 3: Verwenden von regulären Ausdrücken
Dazu kann die Funktion preg_match() verwendet werden. Es nimmt zwei Argumente an: das Muster eines regulären Ausdrucks und die Zeichenfolge, nach der gesucht werden soll. Wenn eine Übereinstimmung gefunden wird, gibt die Funktion 1 zurück, und wenn nicht, gibt sie 0 zurück.
Um beispielsweise zu überprüfen, ob eine oder mehrere Ziffern in einer Zeichenfolge vorhanden sind, können Sie den folgenden Code verwenden:
$string = "Эта строка содержит 123 цифры";if (preg_match("/\d+/", $string)) else
In diesem Beispiel bedeutet das Muster für den regulären Ausdruck /\d+/ "eine oder mehrere Ziffern". Wenn mindestens eine Ziffer in der Zeichenfolge vorhanden ist, gibt preg_match() 1 zurück und gibt die Meldung "Es gibt Zahlen in der Zeichenfolge!".
Reguläre Ausdrücke können sehr leistungsfähige und flexible Werkzeuge sein, um Strings nach bestimmten Zeichen zu suchen und zu überprüfen. Sie erfordern jedoch etwas Lernen und Üben, um effektiv mit ihnen zu arbeiten.