URL extrahieren

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
schmidii
Mitglied
Beiträge: 25
Registriert: 30.12.2005 21:11

URL extrahieren

Beitrag von schmidii »

Morgen zusammen,

ich nutze folgendes Script um mir den Pfad der aktuell geladenen URL im Browser auszulesen:

Code: Alles auswählen

$path = $_SERVER['REDIRECT_URL'];



$array = parse_url($path);
echo $array[path];

Ich bekomme dann was in dieser Art ausgegeben:
angebot/verzeichnis/produkt.html



Jetzt möchte ich das script dahingehend erweitern das ich nur den Dateinamen (also produkt) ausgegeben bekomme. Hintergrund: Ich möchte nach diesem Wort einen Text/eine Datenbank durchsuchen.


vielen Dank schonmal für die Antworten
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
schmidii
Mitglied
Beiträge: 25
Registriert: 30.12.2005 21:11

Beitrag von schmidii »

Vielen Dank für die schnelle Antwort,

das funktioniert wunderbar.

Allerdings habe ich ein neues Problem.

Manche Dateinamen werden mit Unterstrich ausgegeben z.B.: produkt_name


Wie bekomme ich den Unterstrich weg? So dass mir nur noch die Wörter mit Leerzeichen getrennt ausgegeben werden. Bzw. das Ich den Unterstrich mit einem anderen Zeichen (Operator) ersetzen kann.
schmidii
Mitglied
Beiträge: 25
Registriert: 30.12.2005 21:11

Beitrag von schmidii »

Würde hier vielleicht preg_replace funktionieren?
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

nachdem das hier ja kein frage und antwort spiel ist, brauchst du es eigentlich nur selber auszuprobieren :roll:
btw: viel spass auch bei eventuellen sonderzeichen ;-)
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
schmidii
Mitglied
Beiträge: 25
Registriert: 30.12.2005 21:11

Beitrag von schmidii »

Bin ja schon dabei.

Sonderzeichen kommen nicht vor. Wenn etwas ersetzt werden muss dann ist dies immer nur ein Unterstrich.


Ich habe allerdings ein Problem mit dem Suchmuster.
Hier mein Ansatz:

Code: Alles auswählen

$pfad = "$path";
$file = basename($pfad);        // $file enthält den Wert "Dateiname.html"
$file = basename ($pfad,".html"); // $file enthält den Dateinamen 



echo $file;


$str = '$file';
$str = preg_replace('/\s\s+/', '_', $str);

echo $str;
Wie gebe ich in dem Script an das der Unterstrich (also das Suchmuster)von zwei Wörtern eingeschlossen wird?
Ich komme mit den Ausdrücken aus dem allgemeinen Beispiel von PHP.net nicht klar. Kannst Du mir vielleicht mal nen Link posten wo das erklärt wird?
schmidii
Mitglied
Beiträge: 25
Registriert: 30.12.2005 21:11

Beitrag von schmidii »

Nachtrag:

Code: Alles auswählen

$pfad = "$path";
$file = basename($pfad);        // $file enthält den Wert "Dateiname.html"
$file = basename ($pfad,".html"); // $file enthält den Dateinamen 



echo $file;


$str = $file; 
$str = preg_replace("/([^@\s]+)_([-a-z0-9]+)\.+([.?a-z]{2,})/ix",  '-', $str); 

echo $str;


Das funktioniert schon besser. Jedoch wird der Unterstrich nicht ersetzt.
Ich habe Doch angegebne das der Unterstrich _ durch einen Bindestrich - ersetzt wird oder?

Ich probiere hier rum wie ein Weltmeister aber ich finde nicht den Fehler.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Guck dir mal [php:str_replace] an.
KB:knigge
Antworten

Zurück zu „Coding & Technik“