Thread Tags aus XML ausgeben (2 answers)
Opened by roli at 2011-05-13 15:27

Linuxer
 2011-05-13 15:46
#148579 #148579
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Du solltest Dich mal mit dem Thema "Quantifier" auseinandersetzen.

.* ist gierig und schnappt sich so viel wie eben möglich.
Damit schnappt sich das erste .* soviel Text, so dass noch eben einmal Dein <MeinTag>(.*)</MeinTag> und der Rest, der dahinter noch kommt, matchen kann...

Damit bleibt nur der Inhalt des letzten "MeinTag" übrig.

Vorschlag:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#! /usr/bin/perl
use strict;
use warnings;

my $xml = <<EOF;
<foo>
    <bar>1</bar>
    <fb>xxx</fb>
    <bar>2</bar>
    <fb>xxx</fb>
    <bar>3</bar>
</foo>
EOF


my @matches = $xml =~ m{<bar>(.*?)</bar>}mg;

print "@matches\n";


Mir ist noch nicht ganz klar, was konkret Du ersetzt haben willst...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Tags aus XML ausgeben