• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[GELOEST] Links von einer Übersichtsseite sammeln (Galerie)

komisch, dass es bei dir ging.. Sind zwar alles Nullen und Einsen, aber manchmal verhext.
Die Galerie funktioniert jetzt mit dahinterliegenden Datenbank.
 
Werbung:
Hi ich habe was zum Knobeln,
ich möchte die 2 letzten Teile einer URL entfernen.
Mein erster Ansatz:
Javascript:
const actUrl = window.location.href;
const actUrlArray = actUrl.split("/");
const lastUrl = actUrlArray[actUrlArray.length - 1];
const baseUrl = actUrl.replace(lastUrl, "");
const lastUrl2 = "/" + actUrlArray[actUrlArray.length - 2] + "/";
const baseUrl2 = baseUrl.replace(lastUrl2, "");

Funktioniert aber unschön!

Dann was mit Regex im Netz gefunden:
Javascript:
const reg = /\/([^\d\/]+)(?:\.^\d\/+)?(?:\?|$|\/\?|\/$)/g
const str = window.location.href;
const newStr = str.replace(reg, "");
const baseUrl2 = newStr.replace(reg, "");

Das löscht den letzten URL-Part, daher 2 mal angewendet.
So das ist jetzt nicht die Welt eine Programmierzeile zu sparen, aber man will ja immer kürzen, wenn es geht.
Hat jemand eine Idee wie der Regex aussehen müsste, um die letzten 2 URL-Segmente zu löschen? (mit Slash)
 
Habs gelöst, hab ein Beispiel ausm Netz erweitert:
Code:
[\w-]+\/[^\/]+(?=$)
 
Zuletzt bearbeitet:
Werbung:
Bitte nicht so machen, die Regex ist unpräzise. Die Zeichen . ~ : und @ sind im Pfad-Teil der URL ebenfalls zulässig. Und wenn die URL kürzer ist als erwartet, bekommt man den Hostnamen mit in den Match. Von IRIs (URLs mit Unicode-Zeichen drin) will ich gar nicht erst reden.

Vorausgesetzt, dass die URL nicht auf / endet (womit die Regex aber auch nicht klarkommt), wäre dies eine magiefreie, sicherere Alternative:

Javascript:
const baseUrl2 = (new URL("..", location.href)).href

Das ist die relative URL .. mit der URL der aktuellen Seite als Bezugspunkt. ".." führt zum Ordner oberhalb des Ordners der aktuellen Seite. Das URL Objekt sollte heutzutage in allen Browsern verfügbar sein.

Aus der URL dieser Seite würde https://html.de/threads gemacht.

Rolf
 
ahh cool kann man sich drei Zeilen Code sparen :cool:
Grad getestet , funktioniert danke für den Tipp.

Gibt es sowas auch für PHP?
 
Kleine Zwischenfrage, was ist eigentlich korrekt?
HTML:
https://mg-otterson.de/fileadmin/website7/galeria-norbert-ernst-martarranya/?gcat=retratos&gsubcat=frechits
Oder
Code:
https://mg-otterson.de/fileadmin/website7/galeria-norbert-ernst-martarranya?gcat=retratos&gsubcat=frechits

Mit oder ohne Slash ich habs mit Slash verwendet und funktioniert auch.
 
Werbung:
Zurück
Oben