Avatar billede hjalte81 Nybegynder
23. oktober 2010 - 15:59 Der er 2 kommentarer og
1 løsning

Søge i string efter mere end et ord

Hej...

Jeg sidder og leger med noget php og jeg har et problem der driller lidt...

Jeg har en string, hvori jeg gerne vil søge efter forekomster af ord.

Det ser sådan her ud nu:


if (stripos($_SERVER["HTTP_REFERER"], "ord1") !== false)

Det jeg gerne vil er det at det skal se sådan her ud:


if (stripos($_SERVER["HTTP_REFERER"], "ord1", "ord2", "ord3") !== false)

Men jeg kan ikke finde en funktion der kan det...
Det er forresten ligemeget om alle eller kun et af ordene forekommer i strengen.
Avatar billede intenz Novice
23. oktober 2010 - 16:04 #1
Enten bare skrive dem efter hinanden:
if (stripos($_SERVER["HTTP_REFERER"], "ord1") !== false || stripos($_SERVER["HTTP_REFERER"], "ord2") !== false)

Eller brug et array:
$ordListe = array();
$ordListe[] = "ord1";
$ordListe[] = "ord2";

foreach($ordListe as $ord) {
  if (stripos($_SERVER["HTTP_REFERER"], $ord) !== false) {
    print $ord." fundet!<br />";
  }
}
Avatar billede hjalte81 Nybegynder
23. oktober 2010 - 17:02 #2
Sagen er den at jeg har en masse strenge, der skal søges i. Derfor leder jeg efter en måde hvor jeg bare kan skrive de ord den skal søge efter... som i:


if (stripos($_SERVER["HTTP_REFERER"], "ord1", "ord2", "ord3") !== false)


Det behøver ikke være med stripos funktionen... Der må da være en måde man kan gøre det på?
Avatar billede hjalte81 Nybegynder
23. oktober 2010 - 18:07 #3
<?php
$name = "my name is joe anderson";

if (preg_match('#(Joe)|(andersen)#i', $name, $matches)) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}

var_dump($matches);

$name2 = "my name is john andersen";

if (preg_match('#(john)|(anderson)#i', $name2, $matches2)) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}
var_dump($matches2);
?>
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