ik ben opzoek naar de code die zinnen (array) kan doorspitten,

VB. in een textarea wordt een verhaal getyped:

*text* blablabla bla hint blabla bla */text*

nu ben ik BV opzoek naar het woord "hint"
welke code kan dat voor mij doen ?
de zin staat in een array.

ik ben hem nog niet tegen gekomen
dank frits
<?
if (ereg('hint', $array['text']))
{
echo 'gevonden';
}
?>

Je kan ook eregi gebruiken als je case INsensitive wilt zoeken.

edit: ik lees net dat je wilt TELLEN. in dat geval kun je beter preg_match_all gebruiken. 't is wel zo handig als je dat er metteen bij zet natuurlijk -_-.

<?php
$aantal = preg_match_all('/hint/i', $array['text'], $matches);
echo 'Aantal keer gevonden: ' . $aantal;
print_r($matches);
?>

nog een edit:
die slashes moeten er in staan ivm regular expressions oid. die "i" staat voor case-insensitive.
ik dank u allen!

ik ga maar is met de codes aan de slag!
moet lukken denk ik zo top bedankt!
frits
<?php

foreach($je_array as $zoekhier){
$aantal=substr_count($zoekhier, "hint";);
$totaalaantal += $aantal;
}
// geeft het aantal keer dat "hint" voorkomt
echo $aantal;
?>

[edit]
http://nl2.php.net/function.substr-count

Kijk ook eens op die pagina, staat een heel mooi voorbeeld, met preg_match_all()
substr_count ziet er uit als de ideale code voor mijn vraag maar er zijn een aantal dingen die ik er niet helemaal van snap.
1: waarom 2x punt komma "hint";); (code werkt zo niet)
2: waar komt $totaalaantal vandaan?
3: wat doet += eigenlijk ?

bedankt frits
die ; achter "hint" hoort er niet, en moet je weghalen.

$totaalaantal komt nergens vandaan, deze creeƫr je op dat moment.

+= tel je alle $aantal'en op die in de foreach loop worden gemaakt.
bijv. de foreach loop wordt 2 keer uitgevoerd en dit zijn de uitkomsten
1e keer $aantal = 15
2e keer $aantal = 8

dan zal $totaalaantal de waarde (15+8) 23 hebben.
ik krijg toch echt deze melding:
Notice: Undefined variable: totaalaantal in ...

dus lijkt me dat hij meer info moet bevatten..

edit
of het werkt niet goed...
want als er 1 uit komt is er niets om op te tellen of wel ?
heb de code als volgt aan moeten passen

<?php

$totaalaantal=0;

foreach($data as $zoekhier){
$aantal=substr_count($zoekhier, "hint");
$totaalaantal += $aantal;
}
// geeft het aantal keer dat "hint" voorkomt
echo $totaalaantal;

?>

werkt perfect bedankt allemaal !

Reageren