Problem bei Text durch Variable zu tauschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem bei Text durch Variable zu tauschen

    Hi,

    Ich habe folgendes Formular:
    Code:
    <form action="'.http_query().'" method="post" class="entry">
        <fieldset>
            <legend>Eintrag hinzufügen</legend>
            <label class="first" for="name">Name:
    <input type="text" name="Name" id="name" maxlength="60" {Name} /></label>
            <label for="email">E-Mail:
    <input type="text" name="Email" id="email" maxlength="90" {Email} /></label>
            <label for="homepage">Homepage:
    <input type="text" name="Homepage" id="homepage" maxlength="90" {Homepage} /></label>
            <label for="herkunft">Herkunft:
    <input type="text" name="Herkunft" id="herkunft" maxlength="60" {Herkunft} /></label>                            
            <label for="txt">Kommentar:<br />
    <textarea name="GbTxt" id="txt" rows="12" cols="53">{GbTxt}</textarea></label>
            <!-- !'.showBB('').' -->                        
            <input type="submit" class="submitme" name="submit" value="Eintragen" />                            
            <input type="submit" class="submitme" name="preview" value="Vorschau" />
            <input type="reset" class="submitme" name="submit" value="Zurücksetzen" /> 
        </fieldset>                                                    
    </form>
    Jetzt habe ich hier Platzhalter eingebaut ( {String} ) . Die will ich jetzt mit einem Regex austauschen. Dazu habe ich folgende Funktion:
    PHP-Code:
        // $post = $_POST Array !!!
        // $str    = Formular !!!
        
    function form_replace($str,$post)
        {
               
    $str preg_replace('#{(.*)}#Uis'$post[$1], $str);
               return 
    $str;
        } 
    Die Funktion soll die Platzhalter durch ein value ersetzen wo dann der $_POST Inhalt drin steht. Nur klappt das nicht.

    Der will einfach die Backreference nicht als Key vom Array benutzen. Mein Problem/ meine Frage ist denn auch, wie ich die Backreference als Key meines Arrays benutzen kann?

    Ich hoffe echt dass mir einer helfen kann!

    Ein dickes Dankeschön schon mal im voraus!

    Gruß

    H-T
    Zuletzt geändert von H-T; 04.06.2005, 11:33.

  • #2
    Formatiere deinen Code bitte so, dass man nicht horizontal scrollen muss


    Desweiteren ist preg_replace_callback wohl die Funktion die du suchst..
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      Hi,

      Also ich hab jetzt folgende Funktion:

      PHP-Code:
      $str preg_replace_callback('#{(.*)}#Uis'create_function('$str','return $str[1];'),$str);
          
      // $post = $_POST Array !!!
          // $str    = Formular !!!
          
      function form_replace($str,$post)
          {
                 
      $str preg_replace_callback('#{(.*)}#Uis',
                 
      create_function('$str','return $str[1];'),$str);
                 return 
      $str;
          } 
      Aber ich kann dem Array $post immer noch nicht den Str aus der Callback als Key übergeben. Wie löse ich das den nun?

      Gruß
      Zuletzt geändert von H-T; 04.06.2005, 12:15.

      Kommentar


      • #4
        Pack den String in $GLOBALS und dann kannst du einwandfrei darauf zugreifen. Dann nochmal ins Manual schauen, da ist (fast) genau so ein Beispiel
        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

        Kommentar

        Lädt...
        X