Mit RegEx eine unbekannte Zeichenkette ausschneiden

dwex

Erfahrenes Mitglied
Hallo Leute,

ich habe (wieder mal) ein Problem das ich selbst nicht zu lösen vermag.

Ich hole mir von einem Shopsystem eine bestimmte Seite mit Artikeln und muss diese weiter verarbeiten um diese in meinen Newsletter automatisiert mit auszugeben. Das funktioniert auch schon bestens.

Leider sind dann jedoch im Newsletter die Links mit einer Session-ID übersehen was den Nachteil hat, dass wenn man auf einen Link in diesem Newsletter klickt beim Shop immer aufgefodert wird sich einzuloggen - was natürlich dämlich ist.
Wenn ich die Session-ID aus den Links entferne funktioniert das alles bestens.

Die Links welche gesendet werden sehen so aus
Code:
<a href="p-13152.html?osCsid=573ccff31ec640b70836553e76264854">
Jetzt müsste ich mit preg_replace alle Vorkommen der mir unbekannten Session-ID duch nichts ersetzten das der Link dann am Ende in meinem Quellcode so aussieht:
Code:
<a href="p-13152.html">

Damit ich das kann würde ich mit meiner RegEx nach ?osCsid= am Anfang und dann nach dem "> danach suchen und eben durch nichts ersetzen.
Leider habe ich keinerlei Plan wie diese RegEx aussehen müsste damit das klappt. Auch bin ich mir nicht sicher ob preg_replace die richtige Wahl als Funktion darstellt.

Vielen Dank für eure Hilfe im voraus!
 
Zuletzt bearbeitet:
PHP:
$e = '<a href="datei.html?osCsid=573ccff31ec640b70836553e76264854">';
 
 $pattern = '/\?osCsid[^"]*/';
 
 $r = preg_replace($pattern, '', $e);
 echo $r;

Ausgabe:
Code:
<a href="datei.html">
 
Zuletzt bearbeitet:
Zurück