PHP Suchen und Ersetzen in einem String - etwas spezieller

Naja .... :D

Code:
function superFauleRegExMatcherMethode()
{
       echo 'Boah, ich hab heut echt keine Lust';
}
 
character schrieb:
Dateien mit ":" sind übrigens kein Problem:
Unter Linux/Unix nicht, unter Windows sehr wohl!
Siehe http://de.wikipedia.org/wiki/Dateiname#Problematische_und_unzul.C3.A4ssige_Zeichen_oder_Namen

bzw. für NTFS:

Zitat von
http://de.wikipedia.org/wiki/NTFS in der Spalte rechts bei "Erlaubte Zeichen im Dateinamen"
"alle Zeichen außer '\0' (NUL) und '/', Windows verbietet außerdem die folgenden Zeichen \ : * ? " < > |"

bzw. für z.B. ext3

http://de.wikipedia.org/wiki/Ext3 in der Spalte rechts bei "Erlaubte Zeichen im Dateinamen"
"Alle Bytes außer NUL und '/'"


HTH

BigNum
 
character schrieb:
Guter Punkt. Aber wer sagt, dass es nur jpg und png sind? Was ist, wenn sich im Dateinamen "{IMG:" befindet? Etc.
Macht nix, wenn im Dateinamen ein {IMG: steht. Du matchst einfach auf "beginne mit "{IMG:" und ende mit } & enthalte kein }

Yuuri schrieb:
Eine Ausnahme wäre Zeichenbegrenzer zu nutzen, welche in keinem Dateisystem erlaubt sind (fällt schon schwerer diese zu finden, mir fällt da spontan nur der Doppelpunkt ein).
Sag das mal dem Tool DVD::RIP... das schreibt sich tatsächlich so, auch im Dateisystem.

BigNum schrieb:
bzw. für NTFS:

Zitat von
http://de.wikipedia.org/wiki/NTFS in der Spalte rechts bei "Erlaubte Zeichen im Dateinamen"
"alle Zeichen außer '\0' (NUL) und '/', Windows verbietet außerdem die folgenden Zeichen \ : * ? " < > |"
Eigentlich faszinierend, dass NTFS selbst Doppelpunkte sehr wohl zu lässt, Windows aber damit nicht umgehen kann. Warum kann ein MS-eigenes Dateisystem etwas, was das betreffende Betriebssystem nicht kann?
 
Weil das Dateisystem eine Ebene weiter unten ist, bei Windows aber \ als Pfadtrennung, : als Trennung zwischen Datei und Stream *, ? als Wildcard und <, >, | als Pipe-Operatoren verwendet.

Es gibt weitere reservierte Dateinamen wie ., .., NUL, COM1-9, die alle historisch für was anderes verwendet wurden.
 
Ja, aber während z.B. Ext3 einfach nur losgelöst vom OS existiert (effektiv aber eben nur unter Linux genutzt wird), existiert NTFS einzig und allein, um damit WinNT-basierte Systeme zu bestücken. Die Reverse Engineering - Lösungen für Linux waren nie der Plan von Microsoft.
 
es ist evtl einfach nur ein Anzeichen dafuer dass es bei MS auch Leute gibt, die etwas weiter denken.
Oder zumindest mal gab.
Man darf nicht vergessen, dass bei MS im Haus eine Menge ex-unixer und vorallem auch ex-VMSler sitzen, die die eine oder andere Denkblockade evtl nicht haben, und die Beschraenkungen die es "ueber" ihrer Software gibt ignorieren und nicht auch hart verdrahten.
 
Blackbenji schrieb:
PHP:
{IMG:bild_urlaub_1.jpg}
{IMG:small_junior_1year.jpg}
{IMG:hans_klein.png}

Wieso werden die Daten ausgerechnet in dieser Form gespeichert? Eine kleine Abwandlung und du könntest mit den JSON-Funktionen arbeiten.
 
Zurück
Oben