Avatar billede mnv_dk Praktikant
04. juli 2005 - 10:26 Der er 2 kommentarer og
1 løsning

foreach <tag> i streng

Hej, jeg har en streng, kaldet $foo.

Vi antager at indholdet af $foo er "<tag>bar</tag><randomtag>randomfoo</randomtag><tag>baz</tag>"

Derefter vil jeg gerne have at for hver gang der er <tag></tag> med indhold imellem, vil jeg gerne have returneret indholdet, og eksekvere nogle funktioner. Mit problem opstår lidt i at jeg ikke kan se mig ud af at lave foreach løkken for det.

Håber i kan hjælpe mig lidt. Mange tak.
Avatar billede davidnielsen Nybegynder
04. juli 2005 - 14:10 #1
Jeg sidder lige med en bog hvor der står noget i den retning så jeg kan lige skrive noget som jeg tror vil hjælpe hvis du forstår noget af det...

lad os sige du har $nogethtml og at der står <b>Hej her er noget tekst</b> i den
Hvis du kun vil have teksten kan du gøre sådan her...

$nogethtml = "<b>Hej her er noget tekst</b><i>og her er noget mere tekst</i>";";

(@tags) = $nogethtml =~ /(<.*>.*?<\/.*>)/;

foreach $del (@tags) {

        print "$del\n";

}

prut prut det kunne jeg sku heller ikke finde ud af det var jo ikke det du spurgte om man håber du kan bruge det til noget
Avatar billede mnv_dk Praktikant
04. juli 2005 - 14:28 #2
Ej, men tror det har givet mig inspirationen til hvordan det gøres, tak :)
Avatar billede mnv_dk Praktikant
09. juli 2005 - 10:04 #3
Kører man

my @tags = $string =~ m!<tag>(.*?)</tag>!g;

Får man det iu et array, som man kan bruge til foreach!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester