Suchstring am Wortanfang oder Wortende
In PHP kann mittels strpos überprüft werden, ob ein Suchstring in einem String vorkommt.
In einigen Fällen ist es aber wichtig, ob der Suchstring am Anfang oder am Ende des Strings vorkommt. Seit PHP 8.0 gibt es dafür die Funktionen str_starts_with und str_ends_with.strpos(string $haystack, string $needle, int $offset = 0): int|false
Beispiele:str_starts_with(string $haystack, string $needle): boolstr_ends_with(string $haystack, string $needle): bool
Beide Funktionen unterscheiden zwischen Groß- und Kleinschreibung und arbeiten byteweise, funktionieren aber auch mit UTF-8-Strings korrekt. Ein leerer Suchstring liefert immer true. Für PHP-Versionen vor 8.0 lassen sich die beiden Funktionen leicht nachbauen.$string = 'Mein Name ist Hase';// liefert bool(true)var_dump(str_starts_with($string, 'Mein'));// liefert bool(false)var_dump(str_starts_with($string, 'Hase'));// liefert bool(true)var_dump(str_ends_with($string, 'Hase'));
if(!function_exists('str_starts_with')){function str_starts_with(string $haystack, string $needle): bool{return strncmp($haystack, $needle, strlen($needle)) === 0;}}if(!function_exists('str_ends_with')){function str_ends_with(string $haystack, string $needle): bool{return $needle === '' || substr($haystack, -strlen($needle)) === $needle;}}