Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Teil eines Strings umwandeln

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Teil eines Strings umwandeln

    Hallo,

    ich kriege folgendes nicht hin:
    Ich möchte einen Teil eines Strings umwandeln, z.B. soll
    Code:
    [Begrüßung, vorname=Max, nachname=Muster]
    durch
    PHP-Code:
    <?php echo "Hallo Max Muster!"?>
    ersetzt werden.

    Bin für jede Hilfe dankbar!

  • #2
    Da beschäftigst du dich am besten mal mit regulären Ausdrücken: Der RegExp-Evaluator - RegExp-Tutorial.

    Woher kommt der String?

    Gruß

    Kommentar


    • #3
      Danke, werde mich da mal weiter einarbeiten.
      Der String kommt aus einer Textarea.

      Kommentar


      • #4
        Warum wird bei bei folgendem Script im Browser kein php ausgeführt?
        PHP-Code:
        <?php
        $string 
        "davor [b]text[/b] dahinter";
        $string preg_replace('/\[b\](.*?)\[\/b\]/''<strong>$1</strong> <?php echo "Hallo Welt!"; ?>'$string);
        echo 
        $string;
        ?>
        Zwar bekommt man im Quelltext die Ausgabe
        Code:
        davor <strong>text</strong> <?php echo "Hallo Welt!"; ?> dahinter
        allerdings wird echo nicht ausgeführt.
        Woran liegt das?

        Kommentar


        • #5
          PHP wird nicht verschachtelt ausgeführt.

          PHP-Code:
          $string = '<?php echo $string?>'; 
          echo $string; // Endlosschleife.

          Kommentar


          • #6
            Und wie kann ich das ändern?

            Kommentar


            • #7
              Gar nicht, wenn Du vernünftig programmieren willst.
              Wenn Du vernünftig programmieren willst, brauchst Du das auch nicht.

              Kommentar


              • #8
                Du kannst eval benutzen:
                PHP-Code:
                $string 'echo "Hallo Welt!";';
                eval(
                $string); 
                oder einfach das Hallo Welt direkt ausgeben:
                PHP-Code:
                $string 'Hallo Welt"';
                echo 
                $string

                Kommentar


                • #9
                  PHP-Code:
                  <?php echo "Hallo Welt!"?>
                  gibt den String "Hallo Welt" aus.
                  Gwünschtes Ergebnis ist also
                  Code:
                  davor <strong>text</strong> Hallo Welt! dahinter
                  Warum schreibst du dass dann nicht so hin?
                  Code:
                  <strong>$1</strong> Hallo Welt!
                  ?

                  Kommentar


                  • #10
                    Danke für die Antworten.
                    Wie gesagt, möchte ich eigentlich [Begrüßung, vorname=Max, nachname=Muster] umschreiben.
                    "Begrüßung" soll dabei für eine php-Funktionen stehen. Über "vorname=, nachname=" soll der Benutzer die Möglichkeit erhalten, Variablen zu definieren.
                    Also z.B.
                    PHP-Code:
                    $vorname "Max";
                    $nachname "Muster";
                    echo 
                    "Hallo $vorname $nachname"

                    Kommentar


                    • #11
                      Sorry, aber was haben
                      Code:
                      [Begrüßung, vorname=Max, nachname=Muster]
                      und
                      PHP-Code:
                      $vorname "Max";
                      $nachname "Muster";
                      echo 
                      "Hallo $vorname $nachname"
                      gemein? Erkenne da keinen Zusammenhang.

                      Kommentar


                      • #12
                        Er hat einen Text und will daraus irgendwelche Funktionen ausführen:
                        Code:
                        akjs dakshj d [Begrüßung, vorname=Max, nachname=Muster] lakjs hdalksj
                        Nun wird das hier rausgefiltert:
                        Code:
                        [Begrüßung, vorname=Max, nachname=Muster]
                        Der erste Teil "Begrüßung" ist dann der Funktionsname und der Rest die Parameter.

                        PHP-Code:
                        function /*Begrüßung*/($vorname$nachname) {
                        return 
                        "Hallo $vorname $nachname";  

                        Das was die Funktion zurückgibt ersetzt dann dieses [...] Konstrukt.

                        Soweit hab ich das verstanden.

                        Kommentar


                        • #13
                          Genau.

                          Kommentar


                          • #14
                            PHP: preg_replace_callback - Manual wäre dann doch genau das richtig ?

                            Kommentar


                            • #15
                              Der erste Teil "Begrüßung" ist dann der Funktionsname und der Rest die Parameter
                              call-user-func

                              sowas ?

                              Kommentar

                              Lädt...
                              X