echo $begrüßung;
Wenn ich
preg_match('|^([a-z0-9_-]+/)*[a-z0-9_-]+\.[a-z]+$|i', $variable);
richtig verstanden habe, dann trägt er ja in $variable alle Treffer der genannten Zeichen ein, oder?
Du hast es nicht richtig verstanden. Der zweite Parameter ist das zu untersuchende Subjekt. Im dritten Parameter werden die Fundstellen der Gruppierungen zurückgegeben, wenn er vorhanden ist.
Da finde ich aber doch auch einen Slash (oder war / ein Backslash?) und einen Punkt. Genau das wollte ich doch verhindern. Was erreiche ich also damit?
Wenn du schauen möchtest, ob $variable dem Muster entspricht, musst du den Rückgabewert der Funktion auswerten.
echo "$verabschiedung $name";