Avatar billede cautoo Nybegynder
26. juli 2008 - 20:49 Der er 4 kommentarer og
1 løsning

Regular express udtryk

Hej..

Jeg søger en der kan hjælpe mig med et regular express udtryk.
jeg skal bruge de som en erstatsningsfunktion.
Jeg vil gerne erstatte funktioner som skrives i min tekst. Disse skrives ved en bestemt metode:
@@GET_COLOR(255,255,255)@@
altså starter med 2 snabelAer og slutter med 2 snabelAer.
mellem er der funktionsnavn og indputs. funktionsnavnet vil altid kun indeholde store bogstaver og underscore. Indputudtrykket vil altid kun indeholde tal, store bogstaver og komma mellem dem (ingen mellemrum.
Nogen der kan hjælpe mig med at sammensætte et udtryk til at finde dette? og evt. så funktion og indput streng kan sendes ind i en funktion. Noget alla:
function BehandlFunktion($funktionsnavn, $indput) {
  return $funktionsnavn. " modtog " .$indput;
}
$streng = ereg_replace($streng, "UDTRYK", BehandlFunktion($1,$2));
Avatar billede nicklasb Nybegynder
26. juli 2008 - 22:07 #1
$streng = 'FOO @@GET_COLOR(255,255,255)@@ BAR';
function BehandlFunktion($funktionsnavn, $indput) {
  return $funktionsnavn. " modtog " .$indput;
}
$streng = preg_match('/@{2}([A-Z_]+)\(((\d+,)*\d+|\d*)\)@{2}/', $streng, $match);
echo BehandlFunktion($match[1],$match[2]);
Avatar billede cautoo Nybegynder
01. august 2008 - 15:47 #2
hejsa tak for det...
kan du lave det sådan, at indput også kan indeholde store bogstaver og underscore?
Avatar billede nicklasb Nybegynder
01. august 2008 - 17:35 #3
Du kan bare udskrifte de tre "\d" med "[A-Z\d_]"
Avatar billede cautoo Nybegynder
02. august 2008 - 13:46 #4
Tak for det.. ligger du lige et svar?
Avatar billede nicklasb Nybegynder
02. august 2008 - 23:42 #5
Ja
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