Beste Allemaal,
Ik ben niet zo'n regex koning als ik wel zou willen zijn en ik loop flink vast nu.
Uit een systeem waar ik geen grip op heb komt een stukje HTML code.
Nu zou ik dit graag omzetten naar een array
Nu wil ik dus graag data1 apart hebben.
En ik dacht slim te doen met de volgende regex.
Echter hiermee krijg ik alles tussen de eerste table en de laatste.
Dus ik heb er nog een paar geprobeerd maar het wil niet lukken.
Maar de uitkomst is niks
Iemand een TIP?
Ik ben niet zo'n regex koning als ik wel zou willen zijn en ik loop flink vast nu.
Uit een systeem waar ik geen grip op heb komt een stukje HTML code.
Nu zou ik dit graag omzetten naar een array
PHP:
1
| $string = "<table><td>data 1</td></table><table><td>data 2</td></table>"; |
Nu wil ik dus graag data1 apart hebben.
En ik dacht slim te doen met de volgende regex.
code:
1
| #<table>(.*)</table>#is' |
Echter hiermee krijg ik alles tussen de eerste table en de laatste.
Dus ik heb er nog een paar geprobeerd maar het wil niet lukken.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| $patterns = array( '#<table>(.*)</table>#is', '#<table>([^</table]*)</table>#is', '#<table>(?!</table))*#is', ); echo "<pre>"; foreach($patterns as $pat) { echo "Pattern: ".htmlspecialchars($pat)."<br>"; preg_match($pat, $string, $matches); foreach($matches as $i => $m) { echo $i." = ".htmlspecialchars($m)."\n"; } echo "<hr>"; } echo "</pre>"; |
Maar de uitkomst is niks
code:
1
2
3
4
5
6
7
8
9
| Pattern: #<table>(.*)</table>#is 0 = <table><td>data 1</td></table><table><td>data 2</td></table> 1 = <td>data 1</td></table><table><td>data 2</td> -------------------------------------------------------------------------------- Pattern: #<table>([^</table]*)</table>#is geen uitkomst -------------------------------------------------------------------------------- Pattern: #<table>(?!</table))*#is geen uitkomst |
Iemand een TIP?
[ Voor 18% gewijzigd door vorlox op 12-12-2011 21:15 ]