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

RegExp für HTML-CODE: Allgemeine RegExp-Frage



<< >> 2 Einträge, 1 Seite
Kogge
 2004-06-27 20:16
#2971 #2971
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
Tach allerseits!
Wie kann ich bei einem Html-Code der verschieden <TABLE>-Tags enthalte den Ersten (oder Allgemein einen bestimmten Anderen) Tag herauslesen.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<title>No Title</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="100" border="0" cellspacing="0" cellpadding="0"><tr><td>&nbsp;</td></tr></table>
<table width="100" border="0" cellspacing="0" cellpadding="0"><tr><td>&nbsp;</td></tr></table>
<table width="100" border="0" cellspacing="0" cellpadding="0"><tr><td>&nbsp;</td></tr></table>
<table width="100" border="0" cellspacing="0" cellpadding="0"><tr><td>&nbsp;</td></tr></table>
</body>
</html>


Es muss nicht unbedingt <TABLE>-Tag sein, kann auch ein anderer Tag sein!
renee
 2004-06-27 20:28
#2972 #2972
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Versuchs doch mal mit einem dieser Module:
http://search.cpan.org/~gaas/HTML-Parser-3.36/Parser.pm
http://search.cpan.org/~djerius/HTML-TableParser-0.34/TableParser.pm


mit eigener RegEx könnte es in etwa so aussehen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /usr/bin/perl

use strict;
use warnings;

my $file = './pfad/zu/html.datei';

open(R_HTML,"<$file") or die $!;
my $content = join("",<R_HTML);
close R_HTML;

my ($erstes_table) = $content =~ /(<table[^>]+>.*?<\/table>)/;

print $erstes_table;

ist allerdings ungetestet!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 2 Einträge, 1 Seite



View all threads created 2004-06-27 20:16.