Perl Code ?
MoD
- perl
Hi Leutz,
kann mir mal jemand erklären, was dieser Code macht ?
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
Ich hab die Vermutung, das Sonderzeichen rückgeschrieben werden.
Weiß es abe nicht genau.
Vorallem mit dem %([a-fA...][....]) komm ich nicht zurecht.
Danke für eure Antworten
MoD
P.S. ich hab schon mal solch ein Posting abgeschickt -> ging aber scheinbar verloren
Hi MoD,
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
Ja: SELFHTML.
Das habe ich übrigens auch beim letzten Mal geantwortet, als diese Frage innerhalb dieser Woche gestellt wurde, wie Dir eine Archivsuche nach dieser äußerst signifikanten Zeichenkette zweifellos gezeigt hätte.
Viele Grüße
Michael
Hallo Michael,
[...]
Tut mir leid, wollte dir nicht in den Rücken fallen.
Gruesse,
CK
Hallo Christian,
Tut mir leid, wollte dir nicht in den Rücken fallen.
aber nicht doch ... (btw: long time no read)
Viele Grüße
Michael
Hallo Michael,
(btw: long time no read)
ACK :) Du kennst das ja: 14 Tage Uebung hier, 3 Tage Uebung
da, Aerger mit der Telekom und dem Nachbarn - da hat man nicht
viel Zeit fuer INet.
Gruesse,
CK
Hallo MoD,
kann mir mal jemand erklären, was dieser Code macht ?
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
"Ersetze 'Prozent-Zeichen gefolgt von einer Ziffer oder
einem Buchstaben aus der Menge {a,b,c,d,e,f} oder einem
Buchstaben aus der Menge {A,B,C,D,E,F} gefolgt von
einer Ziffer oder einem Buchstaben aus der Menge
{a,b,c,d,e,f} oder einem Buchstaben aus der Menge
{A,B,C,D,E,F}' durch das Zeichen aus dem ASCII-Zeichensatz
des entsprechenden Hex-Wertes des Musters"
Auf Deutsch: übersetze alle URL-encodierten Zeichen durch
deren ASCII-Repraesentation.
$value =~ s/<!--(.|\n)*-->//g;
"Ersetze die Zeichenfolge '<!--' gefolgt von beliebig vielen
beliebigen Zeichen oder beliebig vielen Newline-Zeichen
durch nichts."
Auf deutsch: entferne HTML-Kommentare. Sinnvoller waere hier
der Ausdruck:
$value =~ s/<!--[^>]*-->//sg;
"Ersetze die Zeichenfolge '<!--' gefolgt von beliebigen
Zeichen ausser dem groesser-als-Zeichen gefolgt von der
Zeichenfolge '-->' durch nichts".
P.S. ich hab schon mal solch ein Posting abgeschickt ->
ging aber scheinbar verloren
Kleiner Tipp: Vorschau != erfolgreich abgeschickt ;)
Gruesse,
CK
Hi CK,
Kleiner Tipp: Vorschau != erfolgreich abgeschickt ;)
MoD hat Recht, das Posting gabs, es ist aber bereits im Archiv. BTW weiß ich jetzt ganz ehrlich nicht, was er an den Antworten von Matti und mir nicht verstanden hat.
http://forum.de.selfhtml.org/archiv/2003/7/53241/
Viele Grüße
Torsten
use Mosche;
Ich bin sicher, dass ich in diesem Posting (genau wie du) _nicht_ so gequotet habe. Da liegt wohl ein Fehler in der Software vor. Werde mal einen Bugreport öffnen.
use Tschoe qw(Matti);
Hallo Christian,
$value =~ s/<!--[^>]*-->//sg;
Jetzt hast Du mich aber verunsichert. Ich dachte immer, daß innerhalb von Kommentaren auch Tags vorkommen dürften. Diese Kommentare würde Deine Regex dann nicht entfernen. Oder ist gerade das von Dir beabsichtigt?
Grüße
Klaus
Hallo Klaus,
$value =~ s/<!--[^>]*-->//sg;
Jetzt hast Du mich aber verunsichert. Ich dachte immer, daß
innerhalb von Kommentaren auch Tags vorkommen dürften.
Diese Kommentare würde Deine Regex dann nicht entfernen.
Oder ist gerade das von Dir beabsichtigt?
Oh, du hast recht :) Groesser-Als- und Kleiner-Als-Zeichen
sind ja in HTML- und XML-Kommentaren erlaubt... na, dann
bleibt leider nur .*?.
Gruesse,
CK
use Mosche;
Oh, du hast recht :) Groesser-Als- und Kleiner-Als-Zeichen
sind ja in HTML- und XML-Kommentaren erlaubt... na, dann
bleibt leider nur .*?.
Erlaubt sind nicht zwei Minus-Zeichen hintereinander. Daher ist wohl
$value =~ s/<!--.*?--//sg
richtig.
use Tschoe qw(Matti);
Hallo,
Erlaubt sind nicht zwei Minus-Zeichen hintereinander. Daher ist wohl
$value =~ s/<!--.*?--//sg
Wobei aber das abschließende '>' übrig bleiben würde, was wiederum nicht-validen COde erzeugen würde ;-)
Grüße
Klaus
use Mosche;
Erlaubt sind nicht zwei Minus-Zeichen hintereinander. Daher ist wohl
$value =~ s/<!--.*?--//sg
Wobei aber das abschließende '>' übrig bleiben würde, was wiederum nicht-validen COde erzeugen würde ;-)
Na gut, also
$value =~ s/<!--.*?-->?//sg;
:-)
use Tschoe qw(Matti);