Thread HTML-Code aus Zeichenkette entfernen
(12 answers)
Opened by Gast at 2004-08-29 21:50
[quote=MatthiasR,29.08.2004, 20:31]Solche sachen kotzen mich eben bei der Programmierung (egal welche Sprache) an. Theorie und Praxis sind grundverschieden ;-)[/quote]
Nein, wo/was denn? ?! ist negative look ahead (null zeichen) Man schaut halt, ob das was dort angegeben wird nicht folgt. Gefangen wird nichts. Code: (dl
)
s~<(?!b>|i>|/b>|/i>)~<~gi bedeutet: Jede öffnende spitze Klammer, auf die weder b> noch i> noch /b> noch /i> folgt, wird durch < ersetzt. Zu Code: (dl
)
s~<([^bi]|/[^bi]|/?[^/>]{2,}/?)>~<$1>~gi Man sucht nach einer spitzen öffnenden Klammer, auf die ein Zeichen folgt, das kein b und kein i ist oder auf die ein Slash und ein Zeichen folgt, das kein b und kein i ist oder auf die ein optionales Slash und mindestens zwei Zeichen, die weder Slash noch schließende spitze Klammer sind gefolgt von einem optionalen Slash folgt. Code: (dl
)
[^bi]|/[^bi] liesse sich auch zu Code: (dl
)
/?[^bi] zusammenfassen. Damit hätte man dann zum Beispiel: Code: (dl
)
s~<(/?(?:[^bi]|[^/>]{2,}/?))>~<$1>~gi Der optionale Slash am Ende bezieht sich wohl auf sowas wie <br />. Wenn man sich jetzt noch den Gefallen tut mit x zu arbeiten wirds auch übersichtlicher: Ach ja und bevor Du fragst ;) (?: ... ) ist eine gruppierende aber nicht speichernde Klammer. Ohne ?: wäre der Inhalt nochmal zusätzlich in $2 abgelegt worden, was unnötig Platz und Zeit kostet.\n\n <!--EDIT|Crian|1093860415--> s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite |