Regex mit SQL Abfrage kombinieren

22/03/2009 - 21:02 von Jan Conrads | Report spam
Hallo NG,


ich habe ein kleines Problem mit einem Regex. Es geht um eine Foren DB
bei der ich die internen Links umschreiben möchte (Datenbank Konverter).

Dabei will ich mittels regex die alten Werte der Thread und Postid aus
dem alten Link raussuchen, und den Link an dem neuen Format wieder
zusammenbauen.
Aber die Alten Werte passen zum neuen Board nicht mehr, eine Zuordnung
hab ich in einer DB Tabelle stehen.

Wie kann ich das nun kombinieren? Kann ich im Regex evt auch eine
Subroutine aufrufen die mit dem alten Wert gefüttert wird ($1 o.à), und
deren Rückgabewert dann in den neuen Link eingesetzt wird?

Bin leider kein Experte, aber irgendwie sollte sowas doch sicher möglich
sein, oder? Ein kleines Beispiel wàr extrem nett.


Gruß Jan Conrads
 

Lesen sie die antworten

#1 Moritz Lenz
22/03/2009 - 21:34 | Warnen spam
Hallo,

Jan Conrads wrote:
Dabei will ich mittels regex die alten Werte der Thread und Postid aus
dem alten Link raussuchen, und den Link an dem neuen Format wieder
zusammenbauen.
Aber die Alten Werte passen zum neuen Board nicht mehr, eine Zuordnung
hab ich in einer DB Tabelle stehen.

Wie kann ich das nun kombinieren? Kann ich im Regex evt auch eine
Subroutine aufrufen die mit dem alten Wert gefüttert wird ($1 o.à), und
deren Rückgabewert dann in den neuen Link eingesetzt wird?



ja, mit dem /e modifier.

Hier ein kleines Beispiel:

perl -wE '$_ = "foo 123"; s/(\d+)/double($1)/e; say; sub double { 2 *
$_[0] }'
foo 246

HTH,
Moritz

Moritz Lenz
http://perl-6.de/ http://moritz.faui2k3.org/

Ähnliche fragen