Avatar billede mac10 Nybegynder
07. oktober 2009 - 20:49 Der er 10 kommentarer og
1 løsning

strpos() til at checke for ord i $string?

Hej,

Jeg benytter denne kode til at checke om en string indeholder et ord, eksempel:

$string= 'De var sammen allesammen'
if ( strpos($string, 'sammen') !== false ) {
echo "TRUE";
}

Men skrev jeg nu istedet for:

$string= 'De var søde allesammen'
if ( strpos($string, 'sammen') !== false ) {
echo "TRUE";
}

I andet eksempel skriver den stadigvæk at det eksistere fordi at ordet "sammen" er i ordet "allesammen". Hvordan kan jeg lave en præcis match, så den kun siger TRUE ved det første eksempel?
Avatar billede arne_v Ekspert
07. oktober 2009 - 20:56 #1
if ( strpos(' ' . $string . ' ', ' sammen ') !== false ) {

men overvej regex !!
Avatar billede Gudiik Nybegynder
07. oktober 2009 - 20:57 #2
Ved ikke om det kan gøre det hvis du nu skrifter !== false ud med == true.

Ellers vil jeg tro at explode kan klarer det.


Mvh
Avatar billede mac10 Nybegynder
07. oktober 2009 - 21:03 #3
arne_v,
Hvad nu hvis det er:
$string= 'De var søde allesammen, synes de selv'?

Hvorfor benytte regex? Hvad er forskellen?

Gudiik,
Så skal det være === true :)
Avatar billede arne_v Ekspert
07. oktober 2009 - 21:05 #4
Fordi regex netop kan haandtere andre skilletegn end mellemrum.
Avatar billede arne_v Ekspert
07. oktober 2009 - 21:08 #5
if(preg_match('/\ballesammen\b/', $string) {
Avatar billede mac10 Nybegynder
07. oktober 2009 - 21:37 #6
Den driller stadigvæk. I mit tilfælde har jeg størrelse. Large og X-large. Og hvis jeg vælger X-large så vælger den også automatisk Large med ovenstående eksempel
Avatar billede arne_v Ekspert
07. oktober 2009 - 21:53 #7
Saa bliver du nok noedt til at angive praecist hvilke tegn du opfatter som ord adskillelses tegn og hvilke der ikke er. Men det kan regex ogsaa klare.
Avatar billede mac10 Nybegynder
07. oktober 2009 - 22:00 #8
Det der adskiller dem er komma (,) hvordan defineres dette?
Avatar billede arne_v Ekspert
07. oktober 2009 - 22:21 #9
if(preg_match('/(^|,)allesammen($|,)/', $string)) {
Avatar billede mac10 Nybegynder
07. oktober 2009 - 22:26 #10
Tak :)

Lig venligst et svar for den utrolige gode assistance.
Avatar billede arne_v Ekspert
07. oktober 2009 - 22:37 #11
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester