replace mit variablenübergabe

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

  • replace mit variablenübergabe

    Hallo, ich habe schon vergeblich gesucht daher hier ma ne Frage

    Ich möchte mit str_replace Funktion dies ersetzen lassen: -$variable-

    Daher soll jedoch die Variable weiterhin übergeben werden.

    Ist dies Möglich?

    das man zBsp. im Dokument dann -Test- eingibt und dann halt dies ersetzt wird, wobei $variable = Test; dann ist.

    Oder könnte man das auf andere Art und Weise machen?

    Danke schonmal!

  • #2
    warum sollte das nicht funktionieren?

    PHP-Code:
    $variable 'Test';
    $text  'ejlfkh fhjsdh fjksf -Test- jkh jkh kjh kj';

    echo 
    str_replace('-'.$variable.'-'''$text); 
    tipp: erst denken, dann posten.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hmm Ich glaube du hast mich ein bischen Falsch verstanden,

      Also ich habe einen Text gegeben. Wenn ich den bearbeite und dann zBsp. -Test- schreibe, dann soll er dies ersetzen, und dabei Test als Variable festlegen.

      Dann soll -Test- ersetzt werden durch was anderes, wo ich die Variable dann wieder brauche.

      Verstehst?

      Ich habs ja schon in mehreren Formen probiert, aber entweder stimmt was mit der formatierung nicht oder es es klappt halt nie.

      Daher..

      Wenn de mir da weiter helfen könntest, wäre ich dir sehr dankbar

      Kommentar


      • #4
        du darfst noch mal dein Problem schildern, am bestens mit:

        - ein Beispieltext
        - ein Editzustand
        - was soll dann ersetzt und
        - was soll wo gespeichert werden
        - was für Variablen stehen zur Verfügung
        - ... ???

        Kommentar


        • #5
          So,

          Beispieltext: (welcher in einer mysqldb gespeichert wird)

          Heute ist schönes -Wetter-. Morgen wird es regnen.

          Wenn ich den Text so in der Datenbank speichere, dann soll halt beim ausgeben manches replaced werden.

          Hinterher möchte ich dann einen Text stehen haben wo -Wetter- ersetzt wird durch einen Link zum Punkt Wetter.

          Also dann so:
          Heute ist schönes Wetter. Morgen wird es regnen.

          Jetzt klar?

          Kommentar


          • #6
            Das läßt sich wohl am ehesten mit einem Regulären ausdruck machen, dazu haben wir ein tutorial...
            Die Musikreview Seite

            hi, i'm a signature virus. copy me into your signature to help me spread.

            Kommentar


            • #7
              Hmm, ich habe das Tutorial mal eben gelesen, jedoch habe ich da eigentlich keinen Punkt gefunden, wo man einen Variablen replaceText hat.

              Es ist immer eine Kondition gegeben, womit eine gewisse Zeichenkette ersetzt wird. Oder täusche ich mich da?

              Falls ihr wisst was ich meine, könntet ihr mir dann die stelle nennen, welcher dies genauer beschreibt?

              Danke.

              Kommentar


              • #8
                wenn RegEx für dich zu kompliziert ist, warum schaust du dir @Abraxax's Posting nicht an? Er hat von Anfang an die Lösung gepostet.

                Kommentar


                • #9
                  Kann es sein dass du sowas suchst:
                  PHP-Code:
                  $text preg_replace('#-(.*)-#iU','<a href="bla.php?what=\\\\1">\\\\1</a>',$text
                  War mir jetzt zu blöd dich da selbr draufkommen zu lassen... tut mir leid


                  @asp, ich glaube es geht darum dass das script nich weiß wie die Variablen heißen..
                  Die Musikreview Seite

                  hi, i'm a signature virus. copy me into your signature to help me spread.

                  Kommentar


                  • #10
                    Naja aber so richtig nicht, denn bei ihm wird doch vorher die Variable deklariert, was ich ja nicht möchte.

                    Ich möchte das er die Variable aus dem Text heraus liesst.

                    Also das was dann zwischen den beiden Strichen steht, soll die Variable sein: wenn ich schreibe -php-resource-

                    dann soll er mir das umwandeln in einen Link, welcher halt zur php-resource verlinkt. Die domain berücksichtigen wir da erstmal nicht.

                    Woanders soll das halt vorher nicht deklariert werden.

                    Kommentar


                    • #11
                      Original geschrieben von Tartax

                      @asp, ich glaube es geht darum dass das script nich weiß wie die Variablen heißen..
                      ist ja auch n bisschen spät

                      in diesem Fall ist sogar preg_match geeigneter, da er erst danach entscheidet, was stattdessen ersetzt werden soll.

                      Kommentar


                      • #12
                        OffTopic:
                        Original geschrieben von asp2php
                        in diesem Fall ist sogar preg_match geeigneter, da er erst danach entscheidet, was stattdessen ersetzt werden soll.
                        stimmt, aber du sagst es ja, es ist spät
                        Die Musikreview Seite

                        hi, i'm a signature virus. copy me into your signature to help me spread.

                        Kommentar


                        • #13
                          So, Danke erstmal

                          und dieses .* ist da dann dieser Quantifier? Oder wie?

                          Kann man den immer in diesem Zusammenhang verwenden?

                          Und wie kommt ihr da auf das //1 ?

                          Sorry wenn ich noch Frage, aber will dis ja auch verstehen.

                          Danke schonma für eure Mühe!

                          Kommentar


                          • #14
                            Also wie du auch im Tut lesen könntest:
                            . = irgend ein Zeichen
                            * = anzahl zeischen 1 und Unendlich
                            .* trifft auf jeden String zu der mindestens 1 zeichen hat.

                            \\1 schreib ich immer; im tutorial steh $1 ist letztendlich das selbe... und zwar enthällt $1 den string aus der ersten Klammer, also den auf den dashier zutrifft: (.*)

                            das i hinter dem delimiter ist dafür dass der ganze ausdruck nicht casesensitiv ist.. wobei mir grade auffällt das man das net braucht

                            das U hinter dem delimiter steht für Ungreedy, Ungierig, un heißt dass in einem string immer das kleinste vorkommen von -(.*)- gesucht wird, und nicht das größte
                            Die Musikreview Seite

                            hi, i'm a signature virus. copy me into your signature to help me spread.

                            Kommentar


                            • #15
                              ähm,

                              afaik ist
                              * = kein oder beliebig viele
                              + = genau ein oder beliebig viele

                              ...
                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar

                              Lädt...
                              X