Avatar billede fixxxer Nybegynder
17. oktober 2005 - 16:21 Der er 5 kommentarer og
1 løsning

reg expr "kommandopromt"

Jeg vil skrive en slags "kommandopromt" hvor man indskriver fx --help og så reagere php ved at skrive noget tekst retur.

Jeg forestiller mig at det er nemmeste at bruge reg. expressions, da man derved også kan kontrollere på argumenter i en given kommando..

Men jeg fatter klap af reg. expr. så er der nogen der kan give mig et eksempel på følgende:

en bruger skriver --login bent

Systemet reagere nu og vil forsøge at slå navnet bent op.. og det er altså den regulere expressionen jeg leder efter :)
Avatar billede nielle Nybegynder
17. oktober 2005 - 17:53 #1
Starten på en løsning kunne f.eks. se sådan her ud:

$command = "--login bent";

if (preg_match("/\s*--login\s+([^ ]+)/", $command, $matches))
{
    $user = $matches[0]

    echo "Command: -login<br>";
    echo "User  : " . $user . "<br>";
}
Avatar billede fixxxer Nybegynder
17. oktober 2005 - 18:06 #2
Jeg skal lige prøve at forstå:

Hvis jeg fx udbygger kommandoen --login, således at man kan skrive

--login bent -p minhemmeligekode

så skal jeg forsøge at fange det i to trin:

/\s*--login\s+([^ ]+)/

og for -p argumentet:

/\s*--login\s+([^ ]+) \s*-p\s+([^ ]+)/

?
Avatar billede nielle Nybegynder
17. oktober 2005 - 18:26 #3
Hvis du har mange mulige kombinationer så er det nok ikke lige vejen frem. I stedet kan du tage $command og splitte den op ved mellemrum:

$commandArr = explode(" ", $command);

Dette giver dig et array med de enkelte dele af den indtastede kommando. Du kan så arse dette array ved at løbe arrayet igennem og teste på de enkelte dele.
Avatar billede fixxxer Nybegynder
17. oktober 2005 - 22:22 #4
Jeg har siddet og rodet lidt med det og synes at call_user_func() og i særdeleshed call_user_func_array() er 2 glimrende måder at kalde et variabelt antal funktionskald på...

Når en kommando kaldes sender jeg den videre til en funktion, netop til den og behalder, validere og svarer fra den..

Og til det har jeg delvist brugt dit sidste forslag.. Point?
Avatar billede nielle Nybegynder
18. oktober 2005 - 18:33 #5
Du kan jo nøjes med at give mig halvdelen :^)

... og et svar :^)
Avatar billede fixxxer Nybegynder
19. oktober 2005 - 08:02 #6
Pyt, jeg føler mig i gavehumør :)
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