Avatar billede madslee Nybegynder
16. maj 2003 - 15:35 Der er 3 kommentarer og
1 løsning

En svær regexp.

Hej nogen der ved hvordan man laver en regExp ...
hvor jeg f.eks har en "string"

$myTxt  = "hej (navn) .. hvordan går det idag er det (dato)";

og så 2 variabler $navn = "mads" og $dato = "lørdag"

den den så skal gøre er at tage alt hvad der er inde imellem

() og bytte det ud med en variable..

så (navn) bliver til $navn og (dato) bliver til $dato..

og det skal ikke bare være med (navn) og (dato) jeg skal kunne lave uendelige af valg muligeheder hvor den så finder variablen til det ... kan det lade sig gøre?
Avatar billede Slettet bruger
16. maj 2003 - 16:00 #1
<?php
$navn = "Mads";
$myTxt  = "hej (navn) .. hvordan går det idag er det (dato)";
$patterns = array();
$patterns[] = "navn";
$patterns[] = "dato";

$replacements = array();
$replacements[]="Mads";
$replacements[]="Fredag";

$realpatterns = array();
foreach($patterns as $value)
{
    $realpatterns[] = "/\\(".preg_quote($value)."\\)/";
}
echo preg_replace($realpatterns,$replacements, $myTxt);
?>
Avatar billede madslee Nybegynder
16. maj 2003 - 19:16 #2
Okai hvad så hvis jeg vil have den til at gøre sådan her
$myTxt  = "hej (navn) .. hvordan går det idag er det (dato)";

$info = array();
$info['navn'] = "mads";
$info['dato'] = "fredag";

og at den så bytter (navn) ud med den key som hedder navn og det samme med dato ??

kan man det?
Avatar billede Slettet bruger
16. maj 2003 - 19:31 #3
$replacements = array();
$patterns = array()
foreach($info as $key => $value)
{
    $replacements[] = $value;
    $patterns[] = $key;
}
$realpatterns = array();
foreach($patterns as $value)
{
    $realpatterns[] = "/\\(".preg_quote($value)."\\)/";
}
echo preg_replace($realpatterns,$replacements, $myTxt);
Avatar billede madslee Nybegynder
16. maj 2003 - 20:04 #4
takker sq ;)
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