Noch was für die RegExperts

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

  • Noch was für die RegExperts

    Servus,

    Folgendes Problem:

    Ich hab folgenden Text:

    Code:
    [BEISPIEL]
    Beispiel 1:
    
    Dieser innere Teil des Tags soll durch abc 0 ersetzt werden!
    [/BEISPIEL]
    
    ...
    
    [BEISPIEL]
    Beispiel 2:
    
    Dieser innere Teil des Tags soll durch abc 1 ersetzt werden!
    [/BEISPIEL]
    Die Tags aus dem Text möchte ich ersetzen und zwar folgendermaßen:

    Die Tags sollen gesucht werden. Anschließend wird eine Schleife eingebaut, die bei 0 beginnt und die die Variable $i immer um 1 hochzählt. Danach soll jeder Tag mit "abc" . $i ersetzt werden, also folgendermaßen:

    Code:
    abc 0
    
    ...
    
    abc 1
    Habt ihr dazu einen fertigen Beispielcode?
    Ich weiß echt nicht mehr weiter

  • #2
    was haste denn bereits?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      PHP-Code:
      <?PHP

      $Text 
      "[BEISPIEL]\n";
      $Text .= "Beispiel 1:\n\n";
      $Text .= "Dieser innere Teil des Tags soll durch abc 0 ersetzt werden!\n";
      $Text .= "[/BEISPIEL]\n\n";
      $Text .= "...\n\n";
      $Text .= "[BEISPIEL]\n";
      $Text .= "Beispiel 2:\n\n";
      $Text .= "Dieser innere Teil des Tags soll durch abc 1 ersetzt werden!\n";
      $Text .= "[/BEISPIEL]\n";

      // Zeigt den Text an, so wie er ist!
      echo $Text;

      $preg '%[BEISPIEL](.*)[/BEISPIEL]%siU';

      if (
      preg_match_all($preg,$Text,$CodeArray))
      {
        for (
      $n=0$n<count($CodeArray[1]); $n++)
        {
            
      $CounterString "abc " $n;
          
      $Text preg_replace($preg,$CounterString,$Text);
        }
      }

      // Zeigt den Text an, wie er später aussehen sollte!
      echo $Text;

      ?>

      Kommentar


      • #4
        Hmmmm, ersetz doch testweise (.*) mal durch (.*?)
        Durch das U hast du das eigentlich ja schon gemacht, aber man kann ja nie wissen

        Kommentar


        • #5
          wie oft willst du das denn noch posten?
          http://php-resource.de/forum/showthr...threadid=18280

          und nochmal extra für dich meine antwort dadraus:
          Original geschrieben von mrhappiness
          sorry, überlesen

          preg_replace ersetzt alle vorkommen, ganz egal was du vorher mit preg_match_all machst

          aber lies dir mal das manual durch: http://www.php.net/manual/de/function.preg-replace.php
          ganz besonders die parameterauflistung
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Original geschrieben von mrhappiness
            wie oft willst du das denn noch posten?
            danke für den hinweis... hab den anderen thread geschlossen.
            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

            Lädt...
            X