[regexp + php] meerdere strings uit een string

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een lange string en wil daar de data van "<id" tot "email>" telkens uithalen.

Dit komt dus meerdere keren voor en ik wil dit in een array drukken en er daarna wat mee gaan doen.

Ik dacht dus dat dat zo ging:
PHP:
1
2
3
4
5
6
7
8
9
$x = preg_match_all( "/(<id).*(email>))/i", $data, $resultaten);
for ( $i = 0; $i < count( $resultaten ); $i++ )
{
    for ( $j = 0; $j < count( $resultaten[$i] ); $j++ )
    {
        $data_string = $resultaten[$i][$j]; 
        echo $data_string;
    }
}


Om de een of andere reden werkt dit niet en krijg ik geen match. Wat is er fout met die regexp?

Acties:
  • 0 Henk 'm!

  • Rotjeknor
  • Registratie: April 2001
  • Laatst online: 01-04-2023
Gebruik deze site (of een soortgelijk) voor je regex testen:
http://www.quanetic.com/regex.php

Ook Knor is aangestoken met het ligfietsvirus!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Jep ik kan wel testen, maar ik vraag me af of ik wel preg_match_all() kan gebruiken. Ik doe het nu zo:
PHP:
1
$x = preg_match_all( "/<id.*?\/email>/i", $data, $resultaten);

Zou goed moeten zijn lijkt me.

FUCK laat maar, ik moest op "body" zoeken ipv email 8)7

[ Voor 18% gewijzigd door Verwijderd op 28-01-2004 15:35 ]


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
PHP:
1
2
preg_match("|<id(.*)\/email>|i",$string,$matches);
$data = $matches[1];

het deel dat je wilt capturen moet tussen haakjes, anders niet.

[ Voor 35% gewijzigd door Skaah op 28-01-2004 16:17 . Reden: uitleg toegevoegd. ]