[php] reguliere expressie tellen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik doe met ereg() een check om te kijken of een bestand die bepaalde waarde bevat. Dit is geen enkel probleem, alleen wil ik graag dat hij telt hoeveel keer die substr voorkomt! En het liefst zou ik het dan nog in een array geretourneerd krijgen.

Stel ik doe deze check:

PHP:
1
2
3
4
5
$bestand = file_get_contents('data.xml');
// bestand = "Hallo allemaal dit is erg ok.";

ereg('o', $bestand, $temp);
echo $temp[0];


Dit geeft 'o' weer. Maar de o zit er twee keer in, weet iemand hoe ik dit kan tellen? Ik ben al wezen stoeien met een while statement, en met een count() functie, maar het is me -helaas- niet gelukt?
Het liefst zou ik, zoals ik zei, de waardes in een array krijgen. Nou is dat bij een o niet zo bijzonder, maar wel als ik een reguliere expressie check doe. Dit is natuurlijk gewoon een vergelijking, als vb.

[ Voor 18% gewijzigd door Verwijderd op 24-06-2003 12:57 ]


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
ik las net de post van het persoon onder mij en ik zeg even niets meer :p

[ Voor 109% gewijzigd door simon op 24-06-2003 13:03 ]

|>


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 08:29

Tjark

DON'T PANIC

erm misschien substr_count

standaard php doc spul.

Als je nog geen PHP kan: lees eens een keer _ALLE_ functies door die php heeft.

*insert signature here


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
TjarkVerhoeven schreef op 24 juni 2003 @ 13:02:
erm misschien substr_count

standaard php doc spul.

Als je nog geen PHP kan: lees eens een keer _ALLE_ functies door die php heeft.
substr_count ken ik uiteraard, staat in mijn mooie grote php boek :) maar die kan niet overweg met ereg expressies...(zowel, dan zou ik niet weten hoe), het gaat mij uiteraard niet om het zoeken van een o oid, maar om een ingewikkelde expressie.
En php ken ik wel hor 8) , vindt ik zelf.

/me probeerd nu heel moeilijk om met zijn korte rechter arm zichzelf op zijn linker schouder te kloppen :)

[ Voor 19% gewijzigd door Verwijderd op 24-06-2003 13:16 ]


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 08:29

Tjark

DON'T PANIC

ah, dat was niet duidelijk in je voorbeeld.

misschien dat http://nl3.php.net/manual/en/function.preg-match-all.php je kan helpen?

*insert signature here


Acties:
  • 0 Henk 'm!

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 02-09 19:22

GraasGast

Analogue Heaven

preg_match_all() is inderdaad wat je nodig hebt.

bijv. het aantal postcodes in een lap tekst:
PHP:
1
2
preg_match_all("/[1-9][0-9]{3} ?[a-z]{2}/i", $text, $matches);
$count = count($matches[0]);

[ Voor 5% gewijzigd door GraasGast op 25-06-2003 10:52 ]

Pagina: 1