Avatar billede mjall0w Nybegynder
10. juli 2007 - 15:26 Der er 1 kommentar

Finde ord der kommer efter andet ord

Hej.

Mit problem er at jeg har en tekst som f.eks er:
"Om aftenen er det rigtig mørkt"

Så vil jeg få ordet der kommer efter 'Om' ud som en værdi, som så bliver "aftenen" , og jeg vil have ordet der kommer efter 'rigtig' ud som en værdi som så er "rigtig"

Har prøvet mig lidt frem med noget strtok, strpos, ereg_match osv men kan ikke rigtig finde nogenmåde at gennemskue det på.

Håber i kan hjælpe :)
Avatar billede maqhem Nybegynder
10. juli 2007 - 15:43 #1
Vi laver en funktion til arbejdet. Først initaliseres funktionen med argumenterne $str (streng) og $ser (find):

function FindNext($str, $ser) {

Da ordene opdeles af mellemrum, danner vi et array, der splitter ved mellemrum:

$str = explode(" ", $str);

Nu skal der så gennemsøges for at finde første forekomst:

$fir = array_search($ser, $str, true);

Og så returneres værdien efter:

return $str[$fir + 1];

Og så skal funtkionen lukkes:

}


Nu er den klar til brug:

<?php
    function FindNext($str, $ser) {
        $str = explode(" ", $str);
        $fir = array_search($ser, $str, true);
        return $str[$fir + 1];
    }
   
    $sentence = "Om aftenen er det rigtig mørkt";
    $search = "Om";
    echo "Efter \"$search\" kommer \"" . FindNext($sentence, $search) . "\"<br />";
   
    $search = "rigtig";
    echo "Efter \"$search\" kommer \"" . FindNext($sentence, $search) . "\"";
?>
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