Kijken of bepaalde woorden in een variabel zitten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Folkert

Folkert

25/01/2008 15:43:00
Quote Anchor link
Ik heb een formulier waar ik informatie in plak en dan verstuur naar de website uit dit formulier haal ik allemaal informatie. Maar om er nu zeker van te zijn dat alle informatie geplakt heb wil ik controleren of er bepaalde woorden in de post zitten.

Aangezien ik de post eerst opvang in een variabel kan je daar het beste van uitgaan.

dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$variabel = 'even een klein voorbeeldje variabel met gewoon wat woorden erin';

// nu moet ik dus kijken of er bepaalde woorden inzitten.

$findme   = "variabel met";
$pos = strpos($variabel, $findme);

if ($pos === false) {
echo 'zit er niet in';
} else {
echo 'zit er wel in';
}


Is wat ik gevonden had maar aangezien ik moet controleren op een xx aantal woorden vroeg ik me af of er een bepaalde manier is om in één keer te kijken of bepaalde woorden gewoon in de variabel zitten.
 
PHP hulp

PHP hulp

23/12/2024 01:25:44
 
Arjan Schuurman

Arjan Schuurman

25/01/2008 15:55:00
 
Erik Rijk

Erik Rijk

25/01/2008 16:01:00
Quote Anchor link
Kan je niet beter met een array werken steeds een woord daar uit pakken en controleren of het voorkomt?
 
Jan Koehoorn

Jan Koehoorn

25/01/2008 16:03:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    foreach ($woorden as $woord) {
        if (strpos ($tekst, $woord)) {
            // gevonden
        }
    }

?>
 
Folkert

Folkert

25/01/2008 16:23:00
Quote Anchor link
Jan Koehoorn schreef op 25.01.2008 16:03:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    foreach ($woorden as $woord) {
        if (strpos ($tekst, $woord)) {
            // gevonden
        }
    }

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$woordje = array('hallo','daar','array');

   foreach ($woordje as $woord) {
        if (strpos ($keimeno, $woord)) {
            // gevonden
            echo 'found';
        }
    }

}

// resultaat == foundfoundfound



Het heeft hem 3 keer gevonden maar het moet juist gezien worden als 1 keer, aangezien de woorden op verschillende posities staan in de variabel lukt het op deze manier niet.

Andere ideeën?
 
Jan Koehoorn

Jan Koehoorn

25/01/2008 16:34:00
Quote Anchor link
Dan zet je toch een break; na de eerste treffer?
 
Folkert

Folkert

25/01/2008 16:44:00
Quote Anchor link
Hoe moet dat?

Het lijkt me dat ik moet tellen hoeveel woorden er in de array zitten en voor elke gevonden woord een variabel increased en als die variabel kleiner is dan het aantal woorden dan een break.

Het enige wat ik zo kon vinden was een manier om aantal keer een bepaald woord in een string voor komt. En de variabel zo laten increasen in php ben ik ook nog niet machtig.

Edit: count()
Gewijzigd op 01/01/1970 01:00:00 door Folkert
 
GaMer B

GaMer B

25/01/2008 16:53:00
Quote Anchor link
Doe het dan zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$woordje
= array('hallo','daar','array');

   foreach ($woordje as $woord) {
        if (strpos ($keimeno, $woord)) {
            // gevonden
            $found = true;
        }
else {
            $found = false;
        }
    }


    if($found) {
         echo 'Found';
    }
else {
         echo 'No match';
    }
[
/code]
 
Folkert

Folkert

25/01/2008 17:04:00
Quote Anchor link
GaMer13 schreef op 25.01.2008 16:53:
Doe het dan zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$woordje
= array('hallo','daar','array');

   foreach ($woordje as $woord) {
        if (strpos ($keimeno, $woord)) {
            // gevonden
            $found = true;
        }
else {
            $found = false;
        }
    }


    if($found) {
         echo 'Found';
    }
else {
         echo 'No match';
    }
[
/code][/quote]

Als de laatste waarde die in de variabel gevoden word dan is het found? Geen rekening houden met de anderen?

________________________________________________

Ik heb nu wel een if statement die het doet, en als die gelijk is met de count van de array zal ik het script laten uitvoeren.

Bedankt voor de hulp
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.