echo $begrüßung;
Was ist hier falsch wenn ich als ergebnis "imm3.jpg" erhalten will?
$str = "fdgdg[88]imm3.jpg";
$ergebnis = substr($str,strpos($str,'[88]')+4, -0));Die Anzahl der schließenden Klammern. Das sollte dir aber auch error_reporting(E_ALL); einigermaßen zuverlässig sagen können.
Solch eine Klammer erzeugt einen hübschen "Parse error". Da das Parsen vor dem Scriptlauf stattfindet, kommt es zu keiner Ausführung von Code, und demzufolge auch nicht zum Aufruf der Funktion error_reporting(). Wenn du die Ausgabe von Parse-Fehlermeldungen unterdrücken möchtest, musst du schon mindestens die Einstellmöglichkeiten der Apache-Verzeichniskonfiguration (landläufig unter .htaccess bekannt) benutzen. Es nützt also andersrum auch nichts, sie im Scriptcode einschalten zu wollen.
Ansonsten: Wenn man aus einem String einen Teilstring herausschneiden will und als Wert für den die Länge angebenden Parameter 0 (oder -0) angibt wird das Ergebnis auch nur ein String der Länge 0 sein.
echo "$verabschiedung $name";