preg_replace, Wert aus Array wird bei foreach nicht übernommen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • preg_replace, Wert aus Array wird bei foreach nicht übernommen

    Hallo,

    ich habe folgenden Code (gepharst durch PHP 5):

    $dummy ist ein Array aus Arrays.

    PHP Code:
    foreach ($dummy as $myarr) {

        [...]
              
        
    print_r($myarr);

        [...]
              
        
    $out preg_replace(
                   
    "/(\{)([a-zA-Z0-9_]{1,})(\})/e"
                   
    '$myarr["\\2"]',
                   
    $out
                   
    );


    Problem: Über print_r wird alles komplett richtig ausgegeben, preg_replace verwendet allerdings immer das ERSTE Array aus $dummy für die Rückgabe.

    Hat jemand eine Idee wie dieses Verhalten angepasst werden kann damit immer das aktuelle $myarr verwendet wird?

    Danke tracer

  • #2
    Hallo,

    okay, Problem gelöst. Das Ganze ist kein Problem gewesen sondern ein Programmierfehler, $out wird überschrieben und das nächste Mal findet preg_replace keine zu ersetzenden Werte mehr... (irgendwie logisch ;-)

    Richtig also:
    PHP Code:
    [...]

    $out_act preg_replace(
                   
    "/({)([a-zA-Z0-9_]{1,})(})/e"
                   
    '$myarr["\2"]',
                   
    $out
                   
    );
    [...] 
    Gruß tracer

    Comment

    Working...
    X