Regina Schaukrug: (Erläuterungen)

Beitrag lesen

Für

$txt[] = 'Hallo @Waldmüller, @Müller, @Müller0815! Ich hoffe, Euch geht es gut!';

gibt das:

"Müller0815, Müller" in "Hallo @Waldmüller, @Müller, @Müller0815! Ich hoffe, Euch geht es gut!" gefunden.

aus. Die gefundenen Namen landen also im Array $arrFunde. stripos() findet die Namen auch bei fehlerhafter GROSS/klein-Schreibung und ist performanter als ein Regex. Darüber hinaus interessieren die eigentlichen Fundstellen keinen, sondern nur welcher Name gefunden wurde. Die Methode SucheIn() gibt also alle gefundenen Nutzer zurück - und nicht nur Einen. (Das war der Fehler)

Die Kapselung in das Objekt habe ich gemacht, damit ggf. bei mehreren Textstellen die Suche mehrfach durchgeführt werden kann ohne dass das Array mit den Nutzernamen jedes Mal neu "teuer" gelesen und sortiert werden muss.