Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 773
Hei.

Eg lurte på korleis eg kunne sjekke ein variabel med eit søkeord.
Altså, om eg sjekker for "svov", og variabellen eg sjekker inneholder "svovelsyre", så vil eg gjerne få tilbake ein "true" boleen.

Eg har brukt strpos(), men om eg sjekket "svovelsyre" om den inneholdt "svol", så fungerte det ikkje. Men det fungerte om eg sjekket den for "vov" (fjernet første bokstav).

eksempell

Kode

$finn1 = 'svovel';
$finn2 = 'vovel'; //her har eg berre fjernet S bokstaven

$string = 'svovelsyre';

if(strpos($string, $finn1)){
 echo 'inneholder',$finn1;
}else{
 echo 'inneholder ikkje',$finn1;
}

if(strpos($string, $finn2)){
 echo 'inneholder',$finn2;
}else{
 echo 'inneholder ikkje',$finn2;
}

/***** OUTPUT ******/
//inneholder ikkje svov
//inneholder vov

Så.. hjelp? =D

Har akkurat lært meg litt ajax så eg sitter å lager ein søkefunksjon, der scriptet filtrerer ut det som er mest relevant.

Om nokon kan gi meg tips om korleis eg kan få php variabellen inn i ein javascript variabel, blir eg glad! =D

her er php skriptet og javaskriptet. Det er javaskript variabellen "data" som da får det eg printer ut i php skriptet.
Sist endret av Fyllingz; 29. november 2012 kl. 21:14.
Trigonoceps occipita
vidarlo's Avatar
Donor
Det lukter litt av at du blir lurt av PHP.

svov vil bli funne på posisjon 0. If tolker 0 som false.

Prøv if(strpos('svov','svovelsyre') === FALSE) vs if(strpos('svov','svovelsyre'))

Jepp, datatyper og php er ikkje optimalt.
Åh, eg har missforstått kva outputten til strpos er. Trudde den sendte ut ein boleen, offa.

Men om eg brukar === og strpos sender ut korhen i variabellen "treffet" ligger, så vil no det ikkje fungere?

fordi f.eks
3 === TRUE, er ikkje sant..


prøvde no, fungerte ikkje :/

kanskje eg kan køyre på med switch?

Kode

switch(strpos($string, $finn1)){
 default;echo 'ingen treff';break;
 case int;echo 'greier her';break;
}
Sist endret av Fyllingz; 29. november 2012 kl. 21:32.
Trigonoceps occipita
vidarlo's Avatar
Donor
Jepp, strpos returnerer posisjonen, eller FALSE om du ikkje finn stringen.

Prøv å sjekke om strpos ikkje returnerer false if (strpos('foo','foobar') !== FALSE)
Sitat av slashdot Vis innlegg
Jepp, strpos returnerer posisjonen, eller FALSE om du ikkje finn stringen.

Prøv å sjekke om strpos ikkje returnerer false if (strpos('foo','foobar') !== FALSE)
Vis hele sitatet...
Nydlig! =D