Stelle eines Zeichens in einem String herausfinden??

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

  • Stelle eines Zeichens in einem String herausfinden??

    hi @ all

    first of all: ich habe nichts in der suche gefunden

    also:
    um bei einem tippspiel die begegnungen zu ändern, schreib ich in die db "team1 - team2". um im nachhinein im cms das ändern zu können, mag ich die 2 teams getrennt in 2 verschiedene textfelder schreiben, und dann beim submit zusammen wieder in ein feld zu schreiben (damit das immer im format team1 - team2 bleibt und nicht z.b. team1 : team2). damit ich das in getrennte felder schreiben kann, muss ich eben den ersten teil (bis zum " ") rausschneiden. ich habs schon mit substr() probiert -> mühsam.

    ich kann mich aber noch irgendwie daran erinnern, dass es eine funktion gegeben hat, die mir z.b. die position vom - ausgibt. gibt es die, oder hab ich mich damals nur verschaut? weil dann kann ich einfach substr($begegnung, 0, $pos_von_zeichen-2) machen.

    [COLOR=silver](von mir aus würde ich das als ganzer in ein textfeld schreiben, aber das nur im notfall, wenn es nicht anders ginge)[/COLOR]

    danke im voraus, mfg
    [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

  • #2
    strpos()
    Kissolino.com

    Kommentar


    • #3
      Was bitte ist an Substr mühsam ...

      die Position eines Substrings?? ... dafür findet sich was in den String Funktionen

      im übrigen warum sollten dir explode() und implode() nicht helfen ... ?!
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        @wurzel: thx

        @goth: nein, nein - das hast du falsch verstanden...
        ich hab das schon einmal gemacht, als ich aus einem pfad den dateinamen rauslesen musste. das hat dann so ausgeschaut:
        PHP-Code:
            $rev_text = array();
            
        $text $bilder['pfad'];
            
        $laenge strlen($text);
            
        $a $laenge;
            while(
        $laenge){
                if(
        substr($text,$a-1,1) != "/"){
                    
        $rev_text[] = substr($text,$a-1,1);
                    
        $a--;
                }else{
                    
        $result array_reverse($rev_text,TRUE);
                    break;            
                }
            }
            foreach(
        $result as $zahl=>$name)
                echo 
        $name 
        ja ist ein bisschen weird
        bei der while-bedingung ist mir nichts eingefallen, womit ich eine endlosschleife erzeugen könnte, die ich dann mit break abbrechen könnte.

        mein derzeitiger substr-schleife schaut so aus:
        PHP-Code:
        for($a=1;$a<=12;$a++){
            
        $spiele['spiel' $a] = ereg_replace(" - "," ",$spielem['spiel' $a]);
            if(
        substr($spiele['spiel' $a],$a,$a+1)!=" "){
                
        $teamn[] = substr($spiele['spiel' $a],$a,$a+1);
            }elseif(
        substr($spiele['spiel' $a],$a,$a+1)==" "){
                foreach(
        $teamn as $zahl=>$buchstabe)
                    
        $team.$a .= $buchstabe;
                echo 
        $team.$a "<br />";
            }

        aber wie ihr auf einen blick sehen könnt, wird die auf keinen fall was, da hilft mir strpos() mehr

        mfg
        [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

        Kommentar


        • #5
          Kann ich jetzt nicht ganz nachvollziehen ... wenn Du 'nen definierten String von "team1 - team2" hast, bekommst Du doch die Teamnamen indem Du ein $teams = explode(" - ", $teamstr); durchführst ... "team1" steht dann in $teams[0] ... "team2" in $teams[1] ...

          Vielleicht solltest Du einfach mal erzählen wie Dein String aussieht ... und was Du genau als Ergebnis haben willst ... !
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            oh... explode() kann das so gut??


            ich machs jetzt mit praktischen bsps:
            in der datenbank steht:
            Code:
            id | spiel
            1  | aberdeen - bern
            2  | celtic - dortmund
            3  | england - frankreich....
            im endeffekt will ich das (siehe anhang) und das ist mir hiermit gelungen:
            PHP-Code:
                for($a=1;$a<=12;$a++){
                    
            $laenge strlen($spiele['spiel'.$a]);
                    
            $pos_von_zeichen strpos($spiele['spiel'.$a],"-");
                    
            $team[] = substr($spiele['spiel'.$a],0,$pos_von_zeichen-1);
                    
            $team[] = substr($spiele['spiel'.$a],$pos_von_zeichen+2,strlen($spiele['spiel'.$a]));
                }


            echo 
            "<table ...>";
                for(
            $a=1$a<=24;$a++){
                    if(
            $a%2!=0){
                        echo 
            "<tr><td>Spiel " $b ":&nbsp;</td>";
                        
            $b++;
                    }
                    echo 
            "<td><input type=\"text\" name=\"team[" $a "]\" value=\"" $team[$a] . "\" class=\"eingabe\"></td>";
                    if(
            $a%2!=0){
                        echo 
            "<td>&nbsp;-&nbsp;</td>";
                    }
                    if(
            $a%2==&& $a!=24){
                        echo 
            "</tr>\n";
                    }
                }
            echo 
            "</table>"
            aber wäre nett, wenn du mir das zeugs mit explode näher erklären könntest, weil dass es den linken teil UND den rechten teil getrennt speichern kann, leuchtet mir nicht ein

            [t]hanks [i]n [a]dvance, mfg
            Angehängte Dateien
            Zuletzt geändert von tomstig; 02.04.2004, 13:15.
            [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

            Kommentar


            • #7
              auf http://www.php.net/explode steht doch alles oder versteht du da etwas nicht?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                oha o_0
                PHP-Code:
                    $team = array();
                    
                $team[] = "";
                    for(
                $a=1;$a<=12;$a++){
                        
                $spiel ereg_replace(" - ","-",$spiele['spiel'.$a]);
                        
                $team[] = explode("-",$spiel);
                        
                #$laenge = strlen($spiele['spiel'.$a]);
                        #$pos_von_zeichen = strpos($spiele['spiel'.$a],"-");
                        #$team[] = substr($spiele['spiel'.$a],0,$pos_von_zeichen-1);
                        #$team[] = substr($spiele['spiel'.$a],$pos_von_zeichen+2,strlen($spiele['spiel'.$a]));
                    
                }
                    echo 
                "<pre>";
                    
                print_r($team);
                    echo 
                "</pre>"
                da kommt das raus:
                Code:
                Array
                (
                    [0] => 
                    [1] => Array
                        (
                            [0] => Aberdeen
                            [1] => Bern
                        )
                
                    [2] => Array
                        (
                            [0] => Celtic
                            [1] => Dortmund
                        )
                
                    [3] => Array
                        (
                            [0] => England
                            [1] => Frankreich
                        )
                
                    [4] => Array
                        (
                            [0] => Glasgow Ranger
                            [1] => Hibernian
                        )
                
                    [5] => Array
                        (
                            [0] => Island
                            [1] => Juventus
                        )
                
                    [6] => Array
                        (
                            [0] => Kärnten
                            [1] => Lyon
                        )
                
                    [7] => Array
                        (
                            [0] => Montpellier
                            [1] => Neapel
                        )
                
                    [8] => Array
                        (
                            [0] => Oslo
                            [1] => Pasching
                        )
                
                    [9] => Array
                        (
                            [0] => Quatar
                            [1] => Rapid Wien
                        )
                
                    [10] => Array
                        (
                            [0] => Sturm
                            [1] => United
                        )
                
                    [11] => Array
                        (
                            [0] => Valencia
                            [1] => Widzew
                        )
                
                    [12] => Array
                        (
                            [0] => Xatar
                            [1] => Ypsilon
                        )
                
                )
                mag das aber nicht
                hätte lieber so wie vorher
                [0]=""
                [1]="aberdeen",
                [2]="bern",.....

                habs dann noch anders versucht, hat aber nie bei mir geklappt
                kann mir da kurz wer helfen??
                oder wie kann ich am leichtest aus dem quellcode aus dem vorigen post (da hab ich das mit einer schleife und "<td><input type=\"text\" name=\"team[" . $a . "]\" value=\"" . $team[$a] . "\" class=\"eingabe\"></td>" gelöst...) den so umändern, dass er auch passt?? ich hab keine ahnung wie man das mit foreach lösen könnte
                Zuletzt geändert von tomstig; 02.04.2004, 13:30.
                [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                Kommentar

                Lädt...
                X