![]() |
funktion die alles ausser die root url abschneidet
hi leute ich suche nach einer funktion die es mir ermöglicht bei einer url alles ausser die root url abzuscheiden...
bsp: ![]() ich möchte: ![]() |
Re: funktion die alles ausser die root url abschneidet
Zerlege den String (Trenner /) und lösche Alles nach dem 3.
|
Re: funktion die alles ausser die root url abschneidet
oder oder halt das 3te element bei ner strinlist mit delimeter /...dachte es gibt ne funktion.
|
Re: funktion die alles ausser die root url abschneidet
Hi,
und dann kommt ein normaler Benutzer und tippt
Delphi-Quellcode:
Was bekommt dein Code dann zurück? ;)
www.test.de/abc/def/ghi
Ich würd pauschal eine Regular Expression vorschlagen. Oder zumindest, falls Du keine RegEx Komponente hast den Spring auf http:// prüfen... Gruß Assertor |
Re: funktion die alles ausser die root url abschneidet
Zitat:
![]() |
Re: funktion die alles ausser die root url abschneidet
an ne regex hatte ich auch gedacht ..aber der user wird im vorfeld schon gezwugen http:// anzugeben ;)
|
Re: funktion die alles ausser die root url abschneidet
Also wenn das http:// immer dran ist:
Delphi-Quellcode:
function RootURL(const URL: string): string;
begin Result := Copy(URL, 8, Pos('/', URL) + 8); end; |
Re: funktion die alles ausser die root url abschneidet
jo, danke an alle das passt auch.
|
Re: funktion die alles ausser die root url abschneidet
Bei mir gibt Manus Funktion das falsche zurück.
Ich würde es so lösen:
Delphi-Quellcode:
uses StrUtils;
function RootURL(const URL: string): string; begin Result := Copy(URL, 1, PosEx('/', URL, 8)); end; |
Re: funktion die alles ausser die root url abschneidet
Zitat:
|
Re: funktion die alles ausser die root url abschneidet
Mit viel Fantasie vielleicht. ;)
Delphi-Quellcode:
RootURL('http://www.matthias-hielscher.de/blalala/hsahs/basksas.jpg')
Code:
www.matthias-h
|
Re: funktion die alles ausser die root url abschneidet
Mist, jetzt seh ich es.
Ich hatte mein Beispiel nur mit ![]() Um PosEx kommt man nicht drum rum, höchstens man schneidet die ersten 8 Zeichen weg, aber Deine Lösung ist da die bessere. |
Re: funktion die alles ausser die root url abschneidet
Delphi-Quellcode:
function ExtractDomain( const URL: string):string;
function CheckProtocoll: Integer; begin Result:= Pos( '://', URL)+4; end; begin Result := Copy(URL, 1, PosEx('/', URL, CheckProtocoll)); end; |
Re: funktion die alles ausser die root url abschneidet
Und was macht Ihr bei ftp oder https? Da passt die 8 dann auch nicht mehr :mrgreen:
[edit] Ah, mkinzler hat auch daran gedacht. ;) [/edit] |
Re: funktion die alles ausser die root url abschneidet
Wenn man nur die Domäne ohne Protokoll haben will:
Delphi-Quellcode:
function ExtractDomain( const URL: string; StripProtocoll: Boolean):string;
var start: Integer; prot: Integer; function CheckProtocoll: Integer; begin Result:= Pos( '://', URL)+4; end; begin prot := CheckProtocoll; if StripProtocoll then start := prot-1 else start := 1; Result := Copy(URL, start, PosEx('/', URL, prot)); end; |
Re: funktion die alles ausser die root url abschneidet
Moin Zusammen,
wobei es nicht ganz "ungefährlich" ist nach :// zu suchen. Wenn man ganz auf Nummer sicher gehen will ist :/ besser geeignet, da die beiden // nur deshalb unmittelbar aufeinander folgen, weil das, was laut RFC (ich weiss die Nummer jetzt gerade nicht) dazwischen angegeben werden kann/muss, eigentlich nie angegeben wird (mir fällt jedenfalls nichts ein ;-)) |
Re: funktion die alles ausser die root url abschneidet
Hallo,
die Suche nach dem net path introducer // finde ich nicht so schlimm, die Code-Beispiele funktionieren ja schon aus einfacheren Gründen nicht zuverlässig. Der RFC 2396 hat insgesamt 40 Seiten. Selbst der einfache Fall "Extrahieren des Servers" (oder wird hier wirklich die Domain gewünscht?) verlangt schon etwas mehr Überlegung als ich hier erkennen kann. Ich würde bei ![]() Freundliche Grüße |
Re: funktion die alles ausser die root url abschneidet
Es muss eigentlich gar kein / vorhanden sein, da dies protokollabhängig ist. Bei
![]() ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz