Blog


Suchstring am Wortanfang oder Wortende

  • 23.01.2017
  • PHP
  • string
  • start
  • end
In PHP kann mittels strpos überprüft werden, ob ein Suchstring in einem Wort vorkommt.
mixed strpos(string $haystack, mixed $needle [, int $offset = 0 ])
In einigen Fällen ist es aber wichtig, ob der Suchstring am Wortanfang oder am Wortende vorkommt. Mit der folgenden Funktion strstart ist einfach möglich zu prüfen, ob der Suchstring am Anfang des Worts steht bzw. ob der Suchstring damit beginnt.
/**
* checks if the string starts with the given needle
*
* @param string $text whole text
* @param string $start needle
* @return bool check result
*/
function strstart($text, $start)
{
if(mb_substr($text, 0, mb_strlen($start)) == $start)
return true;
else
return false;
}
In einer leicht abgewandelten Funktion ist das Vorkommen am Wortende zu überprüfen.
/**
* checks if the string ends with the given needle
*
* @param string $text whole text
* @param string $end needle
* @return bool check result
*/
function strend($text, $end)
{
if(mb_substr($text, mb_strlen($text)-mb_strlen($end), mb_strlen($end)) == $end)
return true;
else
return false;
}
Beispiele:
$string = 'Mein Name ist Hase';
// liefert | boolean true
var_dump(strstart($string, 'Mein'));
// liefert | boolean false
var_dump(strstart($string, 'Hase'));
// liefert | boolean true
var_dump(strend($string, 'Hase'));