Aktueller Standort: Startseite> Neueste Artikel> Wie STRPOS-Funktionen mit der Fallempfindlichkeit mit der Fallempfindlichkeit umgehen

Wie STRPOS-Funktionen mit der Fallempfindlichkeit mit der Fallempfindlichkeit umgehen

gitbox 2025-05-28

Strpos () ist fallempfindlich

Die Antwort lautet:. Dies bedeutet, dass Strpos () beim Vergleich von Zeichenfolgen streng mit der Fallunterschiede der Zeichen übereinstimmt.

Schauen wir uns ein einfaches Beispiel an:

<code> $ haystack = "Hallo Welt!"; $ nadle = "World";

$ Position = strpos ($ haystack, $ nadel);

if ($ Position === false) {
echo "Keine String gefunden.";
} anders {
Echo "String Position ist:". $ Position;
}
</code>

Das Ausgabeergebnis ist "keine Zeichenfolge gefunden". Warum? Weil "Welt" in der Nadel Kleinkasse ist und "Welt" im Heuhaufen Großbuchstaben ist. Bei fallempfindlichen Vergleiche werden die beiden Zeichenfolgen nicht als identisch angesehen.


Wie macht ich eine unempfindliche Übereinstimmung?

Wenn Sie von Fall unempfindlichen Suchanfragen durchführen möchten, bietet PHP eine andere Funktion: Stripos () . Es funktioniert genauso wie Strpos () , ist aber von Fall unempfindlich.

Beispiel:

<code> $ haystack = "Hallo Welt!"; $ nadle = "World";

$ position = stripos ($ haystack, $ nadel);

if ($ Position === false) {
echo "Keine String gefunden.";
} anders {
Echo "String Position ist:". $ Position;
}
</code>

Diesmal wird die Ausgabe sein:

 Die Saitenposition ist: 6

Dies bedeutet "Welt" (unabhängig vom oberen und unteren Fall) beginnt mit dem 6. Zeichen in der Zeichenfolge (Zählung von 0).


Ein praktisches Szenario: URL -Überprüfung

Angenommen, Sie möchten überprüfen, ob eine URL den Domänennamen gitbox.net enthält. Sie können Stripos () verwenden, um eine unempfindliche Übereinstimmung zu erreichen (da einige Benutzer möglicherweise einen vollständigen oder gemischten Fall verwenden).

<code> $ url = "https://www.gitbox.net/page/123";

if (stripos ($ url, "gitbox.net")! == false) {
echo "url enthält gitbox.net";
} anders {
echo "URL enthält keine gitbox.net";
}
</code>

Selbst wenn Gitbox.net in voller Kapitalisierung ist, erkennt das Programm es dennoch korrekt.