Antworten auf deine Fragen:
Neues Thema erstellen

Etwas vor einem Delimiter entfernen

Hi,

wenn ich z.B. einen String habe, der folgendes beinhaltet:
www.example.com/test/one/two/three/index.php
und ich davon den Host entfernen soll, jedoch nicht weiß wie dieser ist, dann mache ich das so, dass ich erst mit explode bei allen / trenne und dann mit unset das erste (sprich 0te) Element entferne und danach mit implode wieder alle verbinde.
Code:
$exp = "www.example.com/test/one/two/three/index.php"
$exp = explode('/', $exp);
unset($exp[0]);
$exp = implode('/', $exp);
Gibt es da ne schönere Variante das erste vor einem / zu entfernen?
 

AW: Etwas vor einem Delimiter entfernen

Hallo,
diese Suche ist überflüssig da du die oben genannte Variable als String betrachten musst, der auch von dem Host auf dem das Script läuft abweichen kann.
Es ist also nicht mit einem str_replace des Hosts getan!
 

Duddle

Posting-Frequenz: 14µHz

AW: Etwas vor einem Delimiter entfernen

Hol dir mit strstr() die Position vom ersten Slash, dann den Substring ab dieser Position mit substr(). Wenn du nicht weißt, ob vor der Domain das Protokoll erscheinen kann, musst du das zusätzlich abfragen und dann den dritten Slash holen.


Duddle
 

ovbb

es gibt für alles eine weg

AW: Etwas vor einem Delimiter entfernen

Auch wenn das Skript wo anders ausgeführt ist kannst du dem ja folgendes übergeben.

1) $_SERVER['REQUEST_URI'] - It return the URL in to access the page which is executing the script. If you need to type to access the page then $_SERVER['REQUEST_URI'] returns “/product.php?id=5″.

dann hast du nur die URI hinter dem Host.

Und wenn du den Host auch noch brauchst dann eben zusätzlich

3) $_SERVER['HTTP_HOST'] – Returns the host’s name as found in the http header. This variable usually returns the path like “example.com” when the you find “http://example.com” in browser’s address-bar and return “www.example.com” when you see http://www.example.com in the address-bar. This is quite useful when you’ve to preserve session while making online payment using PHP since session stored for “http://example.com” is not same as for the “http://www.example.com”.

Siehe 2. Link
 

ovbb

es gibt für alles eine weg

AW: Etwas vor einem Delimiter entfernen

ist auch eine Möglichkeit ... aber wie du schon gesagt hast musst dann überprüfen ob http:// vorne drann hängt. Würd dabei aber eher zu den Server-Variablen tendiren und eine ordentliche Methode schreiben ... ist ja kein aufwand und usability wär gegeben ...

PHP ist leider nicht meine sprache ... aber was ist mit der Funktion "parse_url"?!

http://www.phpbox.de/php_befehle/parse_url.php
 
AW: Etwas vor einem Delimiter entfernen

Auch wenn das Skript wo anders ausgeführt ist kannst du dem ja folgendes übergeben.
Ich glaube du hast mich nicht ganz verstanden.
Selbst wenn das Script auf domain.de läuft kann der Host in der Variable example.com sein, deshalb brauchst du da garnicht erst mit SERVER-Variablen kommen.

@Duddle, danke! Wers ausprobieren
 
AW: Etwas vor einem Delimiter entfernen

Gelöst:
Code:
 <?php
         $src = "http://www.example.com/test/one/two/three/";
        $_tmp = strstr(str_replace("http://", '', $src), '/'); 
        die($_tmp);
?>
 

ovbb

es gibt für alles eine weg

AW: Etwas vor einem Delimiter entfernen

Ich glaube du hast mich nicht ganz verstanden.
Selbst wenn das Script auf domain.de läuft kann der Host in der Variable example.com sein, deshalb brauchst du da garnicht erst mit SERVER-Variablen kommen.

kann sein, dass ich da falsch denke?

musst ja trotzdem dem skript was übergeben ... über get oder post, oder nicht?

dann ist es ja egal ob du dafür beim aufrufenden code server-vars verwendest oder nicht. der abarbeitende teil bekommt ja so und so nur eine string ...
 
AW: Etwas vor einem Delimiter entfernen

Guck dir mal meine Lösung oben an, dann verstehst du das alles völlig unabhängig von Domains, URIs etc. läuft.
 

ovbb

es gibt für alles eine weg

AW: Etwas vor einem Delimiter entfernen

ist mir schon klar, ging ja nur um die wiederverwendbarkeit ... wenn du es natürlich nur einmal verwendest und sonst nimmer brauchst ist es sicher eine lösung
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.453
Mitglieder
67.557
Neuestes Mitglied
Charal
Oben