Ik ben bezig om een deel uit een bepaald html document te rippen, een stukje gegevens dat zit verbogen in een javasscript.
Er staat een javascript functie in de header, en in de body wordt een aantal malen achter elkaar die functie aangeroepen.
Het ziet er ongeveer als volgt uit:
Het gaat erom dat er van alles in kan staan: getallen, strings en zelfs strings met HTML. Ook kunnen die strings komma's bevatten, maar een string begint en eindigt wel altijd met een enkele quote (')
Nu kan ik prima de juiste regel isoleren, en het "blaat(" en ");" eraf plukken, maar ik wilde nu die gegevens in een array douwen, dus heb ik explode() gebruikt, en de regel opgedeeld met behulp van die komma, maar omdat in sommige strings ook komma's staan gaat dat niet helemaal goed.
Is er een manier om toch al die gegevens netjes (en eventueel zonder quotes) in een array te proppen?
Er staan iedere keer evenveel gegevens in die functie.
Dit is wat ik er voorlopig van had gebakken, misschien niet helemaal handig, maar ja ik ben een php n00b
Er staat een javascript functie in de header, en in de body wordt een aantal malen achter elkaar die functie aangeroepen.
Het ziet er ongeveer als volgt uit:
code:
1
| blaat(45646,'blaat','mooooh!','hallo, is hier iemand?','<b>blaat<\/b>'); |
Het gaat erom dat er van alles in kan staan: getallen, strings en zelfs strings met HTML. Ook kunnen die strings komma's bevatten, maar een string begint en eindigt wel altijd met een enkele quote (')
Nu kan ik prima de juiste regel isoleren, en het "blaat(" en ");" eraf plukken, maar ik wilde nu die gegevens in een array douwen, dus heb ik explode() gebruikt, en de regel opgedeeld met behulp van die komma, maar omdat in sommige strings ook komma's staan gaat dat niet helemaal goed.
Is er een manier om toch al die gegevens netjes (en eventueel zonder quotes) in een array te proppen?
Er staan iedere keer evenveel gegevens in die functie.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <? $fcontents = file('temp.html'); while (list ($num, $line) = each ($fcontents)) { if (substr($line, 0, 5) == "blaat") { $data = explode(",", substr($line, 6, strlen($line) - 8)); echo $data[0] . "<br />"; echo $data[1] . "<br />"; echo $data[2] . "<br />"; echo $data[3] . "<br />"; echo $data[4] . "<br />"; echo $data[5] . "<br />"; echo "<hr />"; } } ?> |
Dit is wat ik er voorlopig van had gebakken, misschien niet helemaal handig, maar ja ik ben een php n00b