Avatar billede hmm10 Nybegynder
21. februar 2006 - 15:36 Der er 10 kommentarer og
1 løsning

udskift "{test}" til "test" i string

Hej,

Jeg har en string med en masse indhold, bla. {TEST} som skal erstattes med en anden variabel. Det er teksten indenfor { og } der bestemmer hvilken variabel, der skal bruges, så en str_replace kan ikke bruges i mit tilfælde.

Andre forslag?
Avatar billede sone Nybegynder
21. februar 2006 - 15:39 #1
Hvis din streng står i "-plinger, så kan du erstatte { med $$ og fjern } --> {test} bliver til $$test så burde virke,
men du kan selvfølgelig også lave noget ereg_replace
Avatar billede hmm10 Nybegynder
21. februar 2006 - 15:44 #2
Kan man ikke "trække" TEST ud, så jeg får en "ren" variabel med indholdet TEST ? Tror vi skal over i ereg_replace.
Avatar billede Slettet bruger
21. februar 2006 - 16:28 #3
$string = preg_replace("/{(.*)}/", "$1", $foo);

det er hvis du kun har et tilfælde af {noget}
Avatar billede Slettet bruger
21. februar 2006 - 16:31 #4
Ellers skal du lave det med preg_match_all:

preg_match_all("/{(.*)}/", $foo, $bar);

foreach ($bar as $val) {
  echo "Forekomst: " . $var . "<br />";
}
Avatar billede Slettet bruger
21. februar 2006 - 16:42 #5
<?
$chuck = "hej {du} det er en {test}";

preg_match_all("#\{([^\}]+)\}#", $chuck, $bar, PREG_SET_ORDER);

foreach($bar as $val)
    {
    $matches[] =  $val[1];
    }


print "<pre>";
print_r($matches);
print "</pre>";
?>
Avatar billede morhan Novice
21. februar 2006 - 16:54 #6
function ReplaceVar($name){
    return $GLOBALS[$name];
}

$str = "jeg er en {test} streng {slut}";

$test = "VIRKER";
$slut = "en slutning";

$str = preg_replace("/\\{(.*?)}/e", "ReplaceVar('$1')", $str);

echo $str; // jeg er en VIRKER streng en slutning
Avatar billede hmm10 Nybegynder
21. februar 2006 - 19:09 #7
Valgte at udbygge mit script med preg_match_all().

wicez og morhan > dele points?
Avatar billede Slettet bruger
21. februar 2006 - 19:48 #8
Fint med mig - svaret kommer her :)
Avatar billede hmm10 Nybegynder
09. april 2006 - 14:10 #9
morhan?
Avatar billede hmm10 Nybegynder
08. juni 2006 - 23:16 #10
lukker
Avatar billede Slettet bruger
09. juni 2006 - 09:33 #11
Tak for points. ;o)
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