Avatar billede homsabu Nybegynder
17. august 2005 - 17:50 Der er 4 kommentarer og
1 løsning

tjek af streng

Hey!

Jeg vil gerne ha' tjekket en $var for om samme ord optræder flere gange VED SIDEN AF hinanden... dvs det samme ord må GERNE findes flere gange i $var, men må IKKE ligge ved siden af samme ord... forståeligt???

"hest kat hund hund kylling" <-- er ikke okay... der står 'hund' ved siden af 'hund'

"hund kat hund kylling hest" <-- ER okay... hund optræder 2 gange, men ikke ved siden af hinanden!
Avatar billede nielle Nybegynder
17. august 2005 - 18:18 #1
<?
$str = "hest kat hund hund kylling";

if (preg_match("/\b(.+?)\b\s+\b\\1\b/i", $str))
    echo "Samme ord optræder to gange som naboer.";
else
    echo "Alt er ok";
?>
Avatar billede homsabu Nybegynder
17. august 2005 - 18:45 #2
okay, det ser godt nok ud... er det muligt at lave det så det i tilfælde af at der er 2 ens ord ved siden af hinanden, fjerner det ene... dvs den retter --> "hest kat hund hund kylling"  til --> "hest kat hund kylling"; ???
Avatar billede nielle Nybegynder
17. august 2005 - 19:01 #3
Ja, men så bliver det ikke med regexp:

<?
$str = "hest kat hund hund kylling";
$alleOrd = explode(" ", $str);

$forrigeOrd = "";
$nyeOrd = array();

$naboOrd = false;
foreach ($alleOrd as $ord)
{
    if ($ord != $forrigeOrd)
    {
        $nyeOrd[] = $ord;
        $forrigeOrd = $ord;
    }
    else
    {
        $naboOrd = true;
    }
}

$str = implode(" ", $nyeOrd);

if ($naboOrd)
    echo "Samme ord optræder to gange som naboer.<br>";
else
    echo "Alt er ok.<br>";

echo "Den filtrerede streng: " . $str;
?>
Avatar billede homsabu Nybegynder
17. august 2005 - 19:07 #4
det er verdensklasse... jeg har ikke selv testet det, men af det jeg forstår af php, så ser det ud til at virke... TAK!

smid et svar = point!
Avatar billede nielle Nybegynder
17. august 2005 - 19:11 #5
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