Glück auf!
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 ...
Du hast Recht. Diese ganze Aneinanderreihung von (Sonder-)zeichen verstehe ich nicht. Leider auch nicht nach deiner Erklärung, nachlesen in verschiedenen Büchern und recherchieren auf diversen Internetseiten. Das ist mir einfach zu kompliziert. Die Einzelnen Bedeutungen der Zeichen verstehe ich; aber bei dieser komplexen Art ... ich glaub da bin ich zu doof für :(
Die $variable_verzeichnis um den Link zusammenzubasteln überprüfe bzw. ändere ich jetzt so ab:
$clean_variable_verzeichnis = preg_replace('/[^a-zA-Z_0-9]/', '', $variable_verzeichnis);
Damit verhindere ich, dass man mit "." bzw. ".." auf übergeordnete Ordner zugreift bzw. auf andere (externe) Ziele verweist. Andere kranke Ideen will ich mir jetzt gerade nicht vorstellen und neben der Sicherheit ist mir auch wichtig, dass ich verstehe, was ich schreibe.
Freundliche Grüße
zwerg Alex