User since
2003-08-04
367
Artikel
BenutzerIn
Hi,
wie entferne ich in einer Variable alle HTML-Tags?
Ich habs so versucht:
$source =~tr/<(.*)>//s;
funktioniert bloss leider nicht..
User since
2003-08-04
14371
Artikel
ModeratorIn
Probier's mal damit:
$source =~ s/<[^>]+?>//g;
User since
2003-08-08
2561
Artikel
HausmeisterIn
Hi!
my $string = "<html>Dies ist<b> ein Test</b></html>";
$string =~ s/<.*?>//g;
print $string;
Gruß, Erik!
s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}
It's not a bug, it's a feature! - [CGI-World.de]
User since
2003-08-04
2536
Artikel
ModeratorIn
HTML::Parser ist vielleicht ein klitze kleines bisschen übertrieben, meinst du nicht?
ich mein, nur, um alle html-tage zu entfernen?
User since
2003-08-04
12208
Artikel
Admin1
[quote=jan,14.11.2003, 20:08]HTML::Parser ist vielleicht ein klitze kleines bisschen übertrieben, meinst du nicht?
ich mein, nur, um alle html-tage zu entfernen?[/quote]
übertrieben?
$_=<<EOM;
<html>Dies ist<b> ein Test</b><!-- Kommentar <tag> -->
<mehrzeiligestag
></html>
EOM
s/<.*?>//g;
das sieht mir jedenfalls nicht nach einer funktionierenden lösung aus. im dem
falle finde ich 'übertrieben' nicht sehr passend.
User since
2003-08-04
7321
Artikel
ModeratorIn
kommt drauf an...
wenn man weiß, was für einen html code man parsen muss - hat man die seiten vielleicht selbst geschrieben - ist es übertrieben...
daten, die von außen kommen, sollte man so sensitive wie möglich behandeln, also nicht übertrieben...
User since
2003-08-04
2536
Artikel
ModeratorIn
gut, mit dem tag innerhalb des kommentars erledigt sich der regexp, mehrzeilige tags sollten ja mit einem s zum g ohne weiteres zu erfassen sein.
mit
while(s/<[^><]*?>//gs){}
lässt sich aber auch das bereinigen. aber natürlich, da hast du schon recht, nicht sauber, da
<!-- hallo ><< -->
das auch wieder sprengen würde.
insofern stimme ich zu, dass ein vorheriges parsen womöglich besser wäre.
wie säh's mit
s/<!--.*?-->//gs;
s/<.*?>//gs;
aus? schwächen? wenn wir mal von sauberem html ausgehen, also > innerhalb von attributen (wäre > nur unsauber oder ungültig?) etc?
User since
2003-08-04
12208
Artikel
Admin1
[quote=jan,14.11.2003, 22:21]wenn wir mal von sauberem html ausgehen, also > innerhalb von attributen (wäre > nur unsauber oder ungültig?) etc?[/quote]
keine ahnung, ob gültig oder nicht, kenne mich ehrlich gesagt nicht soo gut
in HTML aus. genau deswegen würde ich das eher einem modul überlassen
:)