Hi,
ich hatte bis eben versucht mir n kleines Skript zu schreiben, welches in etwa folgendes tut:
Wird zu:
Ich dachte mir das in etwa so:
Mein Ergebnis sieht allerdings so aus: puu.sh/cYcrh/9239f6e87a.png
Wie kann ich das lösen?
-Tim
ich hatte bis eben versucht mir n kleines Skript zu schreiben, welches in etwa folgendes tut:
Wird zu:
Ich dachte mir das in etwa so:
- Speichere jeden Index des Zeichens "/"
- Gehe jeden Char durch und für jeden Durchlauf merke den aktuellen Char und die 3 nächsten
- Wenn der aktuelle und die 3 nächsten Chars "/../" ergeben dann
- Finde den Index vom dem aktuellen Char im IndexArray
- Nun zerteile den String entsprechend einmal und fange von vorne an
PHP-Quellcode
- $w = "Pfad/Zu/Irgendetwas/../Anderes/Was/Nicht/../../Welches/Kartoffel.php";
- $aIndex = array();
- $Length = strlen($w);
- for($i = 0; $i < $Length; $i++) {
- if($w[$i] === "/") {
- $aIndex[] = $i;
- }
- }
- $Size = count($aIndex)-1;
- for($i = 0; $i < $Length - 4; $i++) {
- $aCur = array();
- for($j = $i; $j < $i + 4; $j++) {
- $aCur[] = $w[$j];
- }
- if($aCur[0] . $aCur[1] . $aCur[2] . $aCur[3] == "/../") {
- $Index = -1;
- for($j = 0; $j < $Size; $j++) {
- if($aIndex[$j] == $i) {
- $Index = $j;
- }
- }
- if(!$Index !== -1) {
- $w = Str::Cut($w, $aIndex[$Index-1], $aIndex[$Index+1] - $aIndex[$Index-1]);
- $Length = strlen($w);
- $i = 0;
- }
- }
- }
Mein Ergebnis sieht allerdings so aus: puu.sh/cYcrh/9239f6e87a.png
Wie kann ich das lösen?
-Tim