Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11311[/thread]

Suchen/Löschen von HTML aus dem Quelltext



<< >> 7 Einträge, 1 Seite
reqxa
 2008-02-16 11:20
#105960 #105960
User since
2008-02-16
2 Artikel
BenutzerIn
[default_avatar]
also ich bräuchte was das alles was <> umschliesst automatisch aus der txt.-datei löscht.

s/<html>//;

also sowas hier nur hätt ich gern das es alles löscht mit <>, egal ob da html oder br oder /br steht oder was auch immer.

Ich hab bis jetzt noch nirgends eine Lösung gefunden und was nicht wie ich das machen soll (hab erst gerad mit perl angefangen).



Und wär noch dankbar wenn mir jemand sagen kann wie ich das einstellen kann das aus einer txt.-text alle / gelöscht werden.
mit tr////d funzts ned und mit tr/////d auch nicht..

danke schonmal.
GwenDragon
 2008-02-16 11:53
#105961 #105961
User since
2005-01-17
14590 Artikel
Admin1
[Homepage]
user image
CPAN:HTML-Tagfilter klappt gut ;)
die Drachin Gwen
#Kein Kommentar
 2008-02-16 12:58
#105966 #105966
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
die erste frage:

Code: (dl )
1
2
3
4
5
my $string = "<html><b>hallo?</b>guten tag</html>";

$string =~ s/<.+?>//g;

print "$string";


die zweite frage:

Code: (dl )
1
2
3
4
5
my $string = "hallo/ciao/buon giorno/salut";

$string =~ s!/!!g; # wichtig sind hier die '!', anstatt ein '/'

print "$string";

Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
GwenDragon
 2008-02-16 13:04
#105967 #105967
User since
2005-01-17
14590 Artikel
Admin1
[Homepage]
user image
Au weh. Schon wieder ein Perl-Schnellschuss. ;)

Regexes sind aber, auch wenn viele es glauben, nicht dazu geeignet, HTML-Elemente zu entfernen.

Schau mal in die PerlFAQ9! Da wird davon abgeraten.
http://faq.perl-community.de/bin/view/Perldoc/perl...

Sinnvoller ist es CPAN:HTML-Parser zu verwenden.
die Drachin Gwen
#Kein Kommentar
 2008-02-16 13:38
#105972 #105972
User since
2007-06-09
575 Artikel
HausmeisterIn
[default_avatar]
sicher, um ein vollwertiges HTML-dokument zu parsen, sollte man wirklich module nehmen...

war eben ein schnellschuss :)
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
reqxa
 2008-02-16 14:06
#105973 #105973
User since
2008-02-16
2 Artikel
BenutzerIn
[default_avatar]
danke vielmal. ich werd beides mal testen. also der nachteil bei der variante mit dem modul wäre dann das ich jedem dem ich das weiter geb noch das modul dazu geben muss oder?.. und was wär nun genau an der zweiten variante nicht gut? was ist daran schlechter als an der ersten?.
GwenDragon
 2008-02-16 14:42
#105974 #105974
User since
2005-01-17
14590 Artikel
Admin1
[Homepage]
user image
Du meinst, das HTML entfernen?

Es klappt nicht immer mit dem Regex.

Probier mal das auf der Konsole, dann siehst du es:


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use strict;
use warnings;

my $string = <<'HTML';
<script><!--
if (a<b && a>c) alert('<');
//-->
</script>
<IMG SRC = "foo.gif" ALT = "A > B">

<IMG SRC = "foo.gif"
ALT = "A > B">

<!-- <A comment> -->

<script>if (a<b && a>c)</script>

<# Just data #>

<![INCLUDE CDATA [ >>>>>>>>>>>> ]]>

<!-- This section commented out.
<B>You can't see me!</B>
-->
HTML

$string =~ s/<.+?>//g;

print $string;


Ausgabe:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!--
if (ac) alert('<');
//-->

B">

<IMG SRC = "foo.gif"
ALT = "A > B">

-->

if (ac)



>>>>>>>>>>> ]]>

<!-- This section commented out.
You can't see me!
-->
die Drachin Gwen
<< >> 7 Einträge, 1 Seite



View all threads created 2008-02-16 11:20.