Zeichen in String einfügen / ersetzen

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

  • Zeichen in String einfügen / ersetzen

    Hallo Forum,

    Ich benötige eure Hilfe bei folgendem Problem:

    Also ich habe eine Zeichenkette string, ähnlich dieser hier:

    X[6]G[8]F[D[4]H[22]]

    quasi wie eine verschachtelte Struktur, welche durch Klammern erklärt ist.

    Nun möchte ich gerne folgendes erreichen:

    [X6][G8][F[D4][H22]]

    sprich, wenn auf einen Buchstaben eine öffnende Klammer folgt, so müssen diese beiden Zeichen vertauscht werden.

    folgender Code funktioniert aber leider nicht, k.A. warum...?


    $preg = "([0-9])";
    $preg2 = "([A-Z])";

    for($i=0;$i<strlen($string);$i++)
    {
    if(preg_match($preg2,$string[$i]))
    {
    $temp.=$string[$i+1];
    $temp.=$string[$i];
    $zk_temp_1 = substr_replace($string,$temp,$i);
    }
    $temp = "";

    }

    was mache ich falsch?

    vieleicht kann mir jmd weiterhelfen?

    Benutze WAMP (Apache 2.X, php4, mysql 4, Win Server 2003)

    Gruß

    Micha

  • #2
    $string = preg_replace('/([A-Z])\[/', '[$1', $string);

    Kommentar


    • #3
      Wow, das ging ja schnell, Vielen Dank, genau das was ich gesucht hatte...


      naja, mit den regulären Ausdrücken hab ich's noch net so raus...

      Viele Grüße

      Micha

      Kommentar


      • #4
        PHP-Code:
        // Pseudocode
        while ( $pos strpos $string'[' ) ) {
        $string $pos ] = $string $pos ];
        $string $pos ] = '[';
        }[ 
        In diesem Fall sinnvoller oder?
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          @tontechniker:
          wenn auf einen Buchstaben eine öffnende Klammer folgt, so müssen diese beiden Zeichen vertauscht werden

          Kommentar


          • #6
            Stimmt, im Beispiel gibt es da soweit ich sehe aber keine Auswirkungen von daher ... (ansonsten prüft man halt das Zeichen vor der Fundstelle noch mit ord).
            Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

            Kommentar

            Lädt...
            X