Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl Url Namen austauschen
Hallo Leute,
ich habe ein kleines Problem, ich baue einen squid redirector und möchte gewissen Adressen austauschen, beispielhaft:
http://test/post.php?name=otto&action=blabla
ich möchte Egal was für Name dort steht den Namen auf "klaus" setzen.
Kann mir jemand ein perl code "Schnipsel" dafür geben?
baumgartner
27-09-2005, 11:24
bahnhof
gehts etwas ausführlicher
ich habe nen String dort steht eine Adresse drin
$url="http://test12339/post.php?name=otto&action=blabla"
# oder
$url="http://test45352/post.php?name=franz&action=blabla"
print $url;
als Adresse soll immer http://test12339/post.php?name=klaus&action=blabla rauskommen. Es soll also immer nur das zwischen name und action ersetzt werden. Wichtig ist das egal was davor(der servername) steht er nur den namen ändert.
baumgartner
27-09-2005, 12:35
das wär dann
$url =~ s/(^.*name=).*?(&.*)/$1klaus$2/;
sollte funktionieren
(is jetzt natürlich ungetestet :D )
DANKE, funktioniert gut.
wie ersetze ich denn hier den Namen franz durch klaus?
http://test45352/Name/franz
Ich könnte mir zwar was mit split zurecht bauen, aber deine Lösung scheint mir komfortabler...
baumgartner
27-09-2005, 14:27
:rolleyes:
$url =~ s/(^.*Name/).*?/$1klaus/;
du bist ja ein ganz fauler :p :rolleyes:
baumgartner
27-09-2005, 14:28
bist du im besitzt eines Perl buches - vielleicht sogar larrys bibel??
do solltest mal das kapitel über Reguläre Ausdrücke lesen, bist ja richtig lästig :p
sorry sowas habe ich leider nicht und genau soweit wie du bin ich mit Hilfe des Internets auch gerade gekommen, hatte leider was vergessen
die Url lautet
http://test45352/Name/23563636/franz
Die zweite Nr variert auch... Wie kann ich das einstellen das der Name am Ende kommt? Zudem wird bei dir der alte Name auch noch ausgegeben?
baumgartner
27-09-2005, 15:25
das wäre dann
$url =~ s/(^.*\/Name\/\d{1,}\/).*?/$1klaus/;
so, das müsste passen :cool:
( bei dem unterem habe ich misst gebaut, der funkt so nicht!!!)
Was willst du damit machen?
baumgartner
27-09-2005, 15:27
soweit wie du bin ich mit Hilfe des Internets auch gerade gekommen,..
wie meinst du dass? wissensmäßig oder den ausdruck?
nicht falsch verstehen... den Perl Wissen habe ich sicherlich nicht in den 2 Stunden Perl Auffrischung erlangt... habe früher mal mehr in perl gemacht... aber mit der Zeit vergißt man viel.
baumgartner
28-09-2005, 16:38
ich weis das hab ich auch
vor 3jahren(noch schule) hab ich auch ganz gut C könnnen und jetzt bin ich wieder an nem buch.
eigentlich ne befehlsreferenz(ich möchte mir nicht zum 3.mal durchlesen was ein schleife ist :D ) die gut beschrieben ist, mir gefällt sie ---->> www.pronix.de ( ist ein openbook)
mfg martin
Technaton
28-09-2005, 18:04
Kommt's mir nur so vor und lesen wirklich die wenigsten mal bei http://perldoc.perl.org/ nach?
baumgartner
29-09-2005, 08:02
ja, das mache ich auch nie, hatte früher keinen inet zugang, bin das einfach nicht gewöhnt, obwohl du ja völlig recht hast
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.