Avatar billede nicolailissau Nybegynder
19. september 2010 - 18:04 Der er 6 kommentarer og
1 løsning

Hjælp til preg_split (PHP)

Hej Eksperter.

Jeg har følgende:

$content = "<tr>
<td>Cv01-E-Humanbio/F/22-26/Nervesystemet-sanserne</td>
<td>F22+23: Nervevæv, nerveledning, synapser, F24+25: F: Centralnervesystemet (CNS); F26: F: Det autonome nervesystem (ANS)</td>
<td>Forelæsning</td>
<td>ti</td>
<td>5 okt 2010</td>
<td>8:15</td>
<td>13:00</td>
<td>Panum - Auditorium, Adolf Hannover</td>
<td>Kjær, Troels Wesenberg</td>
</tr>";

Jeg gerne vil have splittet således at jeg får et array indeholdende hvad der står mellem <td> og </td>, i de 9 tilfælde.

Jeg har prøvet med:
preg_split('/<[^>]*[^\/]>/i', $content,-1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);

Men uden held. Er der en der kan løse det for mig med en lille forklaring vil jeg være henrykt :)

Mvh
Avatar billede repox Seniormester
19. september 2010 - 18:12 #1

$pattern = "/<td>(.*?)<\/td>/i";
preg_match_all($pattern, $content, $matches);

var_dump($matches);
Avatar billede nicolailissau Nybegynder
19. september 2010 - 19:29 #2
Hey repox, tak for svar.

Jeg får det jeg gerne vil have nu, men i et multidim array, hvor der både er med og uden <td></td>. Kan jeg ikke begrænse det til et enkelt array?

Mvh

Array
(
    [0] => Array
        (
            [0] => <td>Cv01-E-Humanbio/F/22-26/Nervesystemet-sanserne</td>
            [1] => <td>F22+23: Nervevæv, nerveledning, synapser, F24+25: F: Centralnervesystemet (CNS); F26: F: Det autonome nervesystem (ANS)</td>
            [2] => <td>Forelæsning</td>
            [3] => <td>ti</td>
            [4] => <td>5 okt 2010</td>
            [5] => <td>8:15</td>
            [6] => <td>13:00</td>
            [7] => <td>Panum - Auditorium, Adolf Hannover</td>
            [8] => <td>Kjær, Troels Wesenberg</td>
        )

    [1] => Array
        (
            [0] => Cv01-E-Humanbio/F/22-26/Nervesystemet-sanserne
            [1] => F22+23: Nervevæv, nerveledning, synapser, F24+25: F: Centralnervesystemet (CNS); F26: F: Det autonome nervesystem (ANS)
            [2] => Forelæsning
            [3] => ti
            [4] => 5 okt 2010
            [5] => 8:15
            [6] => 13:00
            [7] => Panum - Auditorium, Adolf Hannover
            [8] => Kjær, Troels Wesenberg
        )

)
Avatar billede repox Seniormester
19. september 2010 - 19:31 #3
Jo, da - ved at bare anvende $matches[1]?
Avatar billede nicolailissau Nybegynder
19. september 2010 - 19:33 #4
jov, men tænkte på at det måske ville sænke hastighen at udregne et større array? Men det er måske så lidt at det er uden betydning? - ved ikke helt så meget omkring det :)
Avatar billede repox Seniormester
19. september 2010 - 19:38 #5
Nu ved jeg selvfølgelig ikke hvad du betegner som 'et større' array og det vil også være omsonst for mig at svare på din forespørgsel ud fra den begrænsede viden jeg har om dit projekt.

Det korte svar på det jeg ved nu er at du ikke skal bekymre dig om størrelsen på det array der er skabt - det er en dråbe i havet.
Avatar billede nicolailissau Nybegynder
19. september 2010 - 19:40 #6
Okay. Jeg siger mange tak for hjælpen. Ligger du et svar?
Avatar billede repox Seniormester
19. september 2010 - 19:46 #7
Det fik du her.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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