Ok, für die "quick'n dirty"-Version wäre ja auch strstr() das Mittel der Wahl.
Wird m.W. unmittelbar auf die entsprechende C-Funktion abgebildet. (Wenn ich sowas codieren würde, würde ich sogar den Code aus der C-Bibliotheksfunktion 1:1 einsetzen).
Das läuft dann auf irgendwas der Art hinaus:
Code: Select all
if ( strstr( $pic['path'], '://' ) {
$filename = $pic['path']; }
else {
$filename = $pth['folder']['images'] . $gallery['path'] . '/' . $pic['path'];
}
Zur Frage der Sicherheit: der String wird ja aus einer XML-Datei ausgelesen, in die er auf die eine oder andere Weise manuell eingetragen werden muss. Solange sichergestellt ist, dass diese Datei nicht anderweitig manipuliert worden ist, oder sonstwie Unsinn drinsteht -> Code Injection, wäre der primitive Ansatz m.E. sicher.
Code Injection ist mir tatsächlich mal untergekommen: eine Anwenderin hatte einen Google-manipulierten Browser, der beim Editieren der Seiten über den Editor allen möglichen Google-Schrott in die Seiten einbaute. Den durfte ich dann einzeln mit dem Emacs wieder rauspuhlen... das muss zu CMSimple-2.9-oedit-Zeiten gewesen sein.
Spannend wird es also, sobald es ein irgendwie geartetes UI gibt, mit dem man die externen Links über das CMS einbindet.