# stristr

(PHP 4, PHP 5, PHP 7, PHP 8)

stristr — Wie strstr(), aber unabhängig von Groß- bzw. Kleinschreibung

### Beschreibung

stristr(string `$haystack`, string `$needle`, bool `$before_needle` = `false`): string|false

Gibt den String `haystack` ab dem ersten Vorkommen (inklusive) von `needle` bis zum Ende zurück.

### Parameter-Liste

`haystack`

  Die Zeichenkette, in der gesucht werden soll.

`needle`

  Die Zeichenkette, nach der gesucht werden soll.

  Wenn der Parameter `needle` keine Zeichenkette ist, wird er vor PHP 8.0.0 in eine Ganzzahl umgewandelt und als ordinaler Wert eines Zeichens betrachtet. Dieses Verhalten gilt seit PHP 7.3.0 als veraltet und es wird dringend empfohlen, sich nicht darauf zu verlassen. Ist das Verhalten gewünscht, so sollte `needle` explizit in eine Zeichenkette umgewandelt werden oder explizit die Funktion chr() aufgerufen werden.

`before_needle`

  Wenn der Wert auf `true` gesetzt ist, gibt stristr() den Teil von `haystack` vor dem ersten Auftreten von `needle` zurück (ohne needle selbst).

`needle` und `haystack` werden ohne Rücksicht auf Groß- oder Kleinschreibung untersucht.

### Rückgabewerte

Gibt den gefundenen Teilstring zurück. Wenn `needle` nicht gefunden wurde, gibt die Funktion `false` zurück.

### Changelog

Version | Beschreibung
--- | ---
8.2.0 | Die Groß- und Kleinschreibung hängt nicht mehr von der mit setlocale() eingestellten Locale ab. Es wird nur noch die Groß- und Kleinschreibung von ASCII-Bytes verglichen. Nicht-ASCII-Bytes werden nach ihrem Byte-Wert verglichen.
8.0.0 | `needle` akzeptiert nun eine leere Zeichenkette.
8.0.0 | Die Übergabe eines Integer als `needle` wird nicht mehr unterstützt.
7.3.0 | Die Übergabe eines Integer als `needle` wird missbilligt.

### Beispiele

Beispiel #1 stristr()-Beispiel

`<?php
$email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'), PHP_EOL; // Ausgabe: ER@EXAMPLE.com
echo stristr($email, 'e', true), PHP_EOL; // Ausgabe: US
?>`

Beispiel #2 Prüfen, ob ein String gefunden wurde oder nicht

`<?php
$string = 'Hallo Welt!';
if (stristr($string, 'Erde') === FALSE) {
echo '"Erde" nicht gefunden';
}
// Ausgabe: "Erde" nicht gefunden
?>`

### Anmerkungen

> Hinweis: Diese Funktion ist binärsicher.

### Siehe auch

- strstr() - Findet das erste Vorkommen eines Strings
- strrchr() - Sucht das letzte Vorkommen eines Zeichens in einem String
- stripos() - Findet das erste Vorkommen eines Teilstrings in einem String, unabhängig von Groß- und Kleinschreibung
- strpbrk() - Durchsucht einen String nach einem Zeichen aus einer Gruppe von Zeichen
- preg_match() - Führt eine Suche mit einem regulären Ausdruck durch

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open