» Relativen / absoluten Link in Deeplink umwandeln

Domainnamen / Hostnamen validierenNeuen Thread eröffnenNeue Antwort erstellenPHP cURL: Vermeide CURLOPT_RETURNTRANSFER wenn möglich!
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52423
Wohnort: Lohmar


Meine eBay-Auktionen:
26.03.2015, 20:32
zitieren

Bei relativen und absoluten Links muss man viele Dinge beachten. Die Varianten sind mannigfaltig:
<img src="./images/image1.jpg" />
<img src="images/image2.jpg" />
<img src="/images/image3.jpg" />

Will man nun diese Bilder von einem Server zu einem anderen übertragen benötigt man den Deeplink und hier hilft die folgende Funktion:
function deeplink($base_url, $resource) {
// remove fragment
if (($anchor_pos = strpos($resource, '#')) !== false) {
$resource = substr($resource, 0, $anchor_pos);
}
if (!$resource) {
return $base_url;
}
// nothing to do as $ressource contains scheme (http://, mailto:, javascript:, etc.)
if (preg_match('~^[0-9a-z.\-+]{2,}:~i', $resource)) {
return resolvepath($resource);
}
// base url must contain a scheme! http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax
if (!preg_match('~^[0-9a-z.\-+]{2,}://~i', $base_url, $m)) {
return false;
}
// obtain the first slash after scheme (we assume the url includes this)
$first_slash_pos = strpos($base_url, '/', strpos($base_url, '//') + 2);
$root_url = substr($base_url, 0, $first_slash_pos + 1);
// protocol independent "//www.example.org" works for "https://" and "http://" http://stackoverflow.com/a/2216721/318765
if (isset($resource[1]) && $resource[0] == '/' && $resource[1] == '/') {
$deeplink = $m[0] . substr($resource, 2);
}
// absolute link
else if ($resource[0] == '/') {
$deeplink = $root_url . substr($resource, 1);
}
// relative link
else {
if (isset($resource[1]) && $resource[0] == '.' && $resource[1] == '/') {
$resource = substr($resource, 2);
}
$deeplink = $base_url . $resource;
}
return resolvepath($deeplink);
}

deeplink() benötigt zwei Angaben:
Außerdem wird resolvepath() benötigt um URLs mit "../" korrekt umzuwandeln.

Beispiel:
$img_src = deeplink('http://example.com/foo/', "/images/image3.jpg");

Ergebnis:
http://example.com/images/image3.jpg

Wer die base URL einer Seite auslesen möchte, der sollte sich base_url() anschauen.


pn email
Gast 
26.03.2015, 20:32
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Relativen / absoluten Link in Deeplink umwandeln" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Wort zu Link umwandeln
Hallo zusammen! Ich habe ein internes Mediawiki. Dort gibt es zum Beispiel einen Eintrag "Baum". Wenn ich nun einen neuen Text schreibe und dort das Wort "Baum" vorkommt, besteht eine Mögilchkeit, dass dieses Wort automatisch zu...
von dude_steffen
2
267
16.05.2011, 10:25
dude_steffen
*.avi in *.gif umwandeln?
Frage steht im Titel. Wie geht das? Mit welchen technischen Errungenschaften ist das möglich? Hat wer ne Ahnung?...
von Mattes
7
1.914
26.01.2009, 15:15
mgutt
umwandeln 3gp
hat jemand für mich ein programm,womit ich verschiedenes,unter anderem auch .flv dateien,in 3gp fürs handy laden kann ? ud keine testversionen bitte,die nur die ersten 2 minuten oder so wandeln...davon hab ich genug -.- und musik programme oder so,was...
von Tolga
9
733
15.09.2007, 06:08
Tolga
3gp-Datei in avi umwandeln
Hallo! Wie im Titel schon steht, such ich ein funktionierendes Programm dazu. Sollte aber ne Freeware sein. Hab schon einiges probiert aber nix hat gefunzt. Hatte 3gptoavi und 3gp-converter. Kann es daran liegen das meine Videos über winamp laufen. Bin...
von rancid77
11
3.431
21.05.2007, 16:36
KleenerKrasser
FLV. Datei Umwandeln
Hallo, weiß einer wie ich eine FLV. Datei in eine normale Musikdatei umwandeln kann? Danke und Gruß...
von Fuchs
5
1.885
05.11.2007, 10:47
Fuchs
AVI in MPG dateien umwandeln?
naja frage steht shcon oben :) weiß das einer...
von Fuchs
16
1.548
28.11.2005, 16:21
mgutt
Pogramm zum viedo umwandeln
Kennt jemand ein gutes pogramm wo videos in 3gp umwandeln kann also in handy...
von civic0711
10
898
04.03.2007, 13:42
pocketrocket
Bilddatei umwandeln bzw bearbeiten
Moin, habe gar keine Ahnung was Bildbearbeitung angeht und bräuchte eure Hilfe. Das angehängte Bild möchte ich mir drucken lassen. Dazu müsste es erstmal gelb gefärbt werden. Der Shop wo ich das drucken lassen möchte benötigt die Farbe in der...
von Zachan
2
207
10.12.2011, 17:49
Zachan
Klein in-großbuchstaben umwandeln in C
servus : Ich soll eine Funktion kleinbu schreiben, die Groß in Kleinbuchstaben umwandelt . Die Funktion erhält als parameter ein Zeichen und gibt den entsprechenden Kleinbuchstaben . Falls die Funktion als Parameter etwas anderes als Klein-groß...
[C]von forcamarseille
2
4.863
02.08.2012, 00:42
xitec75
Bassrolle in Gehäusesub umwandeln???
Hi ich brauch mehr Platz im Kofferraum. Dazu wollte ich mir meine Bassrolle in einen Selbstgebauten Gehäusesub umwandeln! Meint ihr sowas ist möglich?? Wenn ja wo krieg ich raus, wie groß (Liter) das Volumen für den Sub seien muss??? P.S hab gerade...
von freac
22
1.949
11.10.2005, 07:07
|rotekugel|
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |