Regina Schaukrug: User direkt ansprechen und abspeichern

Beitrag lesen

Ich hätte das etwa so gemacht:

<?php

header( "Content-Type: text/plain; charset=utf8" );
$arNutzer = array(
                   'Müller',
                   'Müller0815'
                 );

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


$oUserSuche = new UserSuche( $arNutzer );

foreach ($txt as $str) {
    $arrFunde = $oUserSuche -> SucheIn( $str );
    if ( count( $arrFunde ) ) {
        echo '"' . implode(', ', $arrFunde) . '" in "' . $str . '" gefunden.' . "\n";
    } else {
        echo 'Kein Nutzer in "'. $str . '" gefunden.' . "\n";
    }
}

class UserSuche {

    public $arNutzer;

    function __construct( $arNutzer ) {
        rsort( $arNutzer );
        $this -> arNutzer = $arNutzer;
    }

    function SucheIn( $txt ) {
        $arrReturn = array();
        $fsOld = false;
        foreach ( $this -> arNutzer as $Nutzer ) {
            $fs = stripos ( $txt, '@' . $Nutzer );
            if ( false !== $fs && $fs != $fsOld ) {
               $arrReturn[] = $Nutzer;
               $fsOld = $fs;
            }
        }
        return $arrReturn;
    }
}

Ausgaben:

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