php problem mit arrays

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

  • php problem mit arrays

    Hallo.

    Ich bin momentan dabei mich das erste mal mit php zu befassen....

    nun habe ich mein script so progammiert das es wörter in einem text mit 3 buchstaben rot und wörter mit 4 buchstaben blaub anzeigt.

    Jetzt stellt sich für mich die Frage wie ich verhindere, dass Punkte und Kommas auch dazu gezählt werden.

    Hat jemand ne Idee wie ich das Problem lösen könnte???


    PHP-Code:

    $text 
    "Dieser Pokal, um den es in der Champions League geht, steht derzeit in Mailand. Genauer "
        
    "gesagt im Trophäenschrank von Inter. Und der Mann, der den Pokal an einem lauen Mai-Abend "
        
    "in Madrid als Hut verwendete, heißt Wesley Sneijder. Der Niederländer war ein wichtiger "
        
    "Faktor beim 2:0-Sieg der Italiener im Finale am 22. Mai gegen Bayern München. Jetzt geht "
        
    "aber alles wieder von vorne los. Das Ziel ist diesmal London. 32 Mannschaften peilen es an, "
        
    "aufgeteilt sind sie zunächst in acht Gruppen. FAZ.NET stellt die Bewerber vor. ";

    $array explode (" "$text);

    for (
    $i=0$i <count($array); $i++)  
    {     
        if (
    strlen($array[$i]) == 3)
        { 
            echo 
    '<span style="color:red;">'.$array[$i].'</span> ' ;
        }
        
        elseif (
    strlen($array[$i]) == 4)
        { 
            echo 
    '<span style="color:blue;">'.$array[$i].'</span> ' ;
        }
        
        else 
        {        
            echo 
    $array[$i]. " ";
        }


    Zuletzt geändert von AmicaNoctis; 27.08.2010, 14:47.

  • #2
    Hallo und willkommen hier im Forum,

    bitte lies zuerst die Forenregeln und passe deinen Beitrag mit dem -Button und [Erweitert] so an, dass der Code mit den entsprechenden Tags markiert wird.

    Danach bitte einfach nochmal kurz melden.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Ok, hab meinen Eintrag soweit mir was aufgefallen ist verbessert...

      Kommentar


      • #4
        [.php] ... [./php] (natürlich ohne die Punkte )!

        den ersten davon vor deinen Programm-code, den 2ten dahinter .. dann wird es in besser lesbarer Schrift formatiert

        ansonsten musst du wohl VOR deinen Vergleichen auf Stringlänge 3 bzw 4 mal mit strpos nach Vorkommen von "," und "." (mindestens) suchen ... das liefert FALSE wenn es nicht vorkommt und ansonsten die Position des fraglichen Zeichens , falls gefunden (beginnend mit 0 = ganz am Anfang der Zeichenkette) ...danach müsstest du mit substr das fragliche Zeichen "herausschneiden" und dann kannst du auf 3 bzw 4 Buchstaben vergleichen

        PHP-Code:

        if (($pos=strpos($array[$i],"."))!=FALSE
             
        $array[$i]=substr($array[$i],0,$pos-1).substr($array[$i],$pos+1); 
        .. eigentlich müsstest du dann noch gucken ob $pos nicht 0 ist -> dann kommt nur der 2te substr, oder das letzte Zeichen ist - dann nur der erste substr

        Wenn dein Text immer schön nach deutscher Rechtschreibung gebaut ist, dann brauchst du immer nur
        PHP-Code:
             $array[$i]=substr($array[$i],0,$pos-1); 
        anstatt der obigen längeren Variante

        das Ganze natürlich nochmal mit ","
        also
        PHP-Code:
        if (($pos=strpos($array[$i],","))!=FALSE)
           
        $array[$i]=substr($array[$i],0,$pos-1); 
        Zuletzt geändert von eagle275; 27.08.2010, 14:57.
        [font=Verdana]
        Wer LESEN kann, ist klar im Vorteil!
        [/font]

        Kommentar


        • #5
          so ????

          Kommentar


          • #6
            Ohne die Punkte nach der eckigen Klammer! Es gibt auch Buttons dafür (siehe meine Signatur).

            Edit: hab's jetzt selbst gemacht. Wenn du nochmal auf Ändern gehst, siehst du, wie wir's meinen.
            Zuletzt geändert von AmicaNoctis; 27.08.2010, 14:48.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Reguläre Ausdrücke vorzuschlagen wäre jetzt too much oder?

              Trotzdem, so könnte es auch gehen:
              PHP-Code:
              // suche drei Buchstaben, die von Komma, Punkt, Leerzeichen oder Anfang/Ende des Textes umschlossen sind und ersetze sie entsprechend:
              $text preg_replace('/([,\. ^])([a-z]{3})([,\. $])/i','$1<span style="color:red;">$2</span>$3',$text); 
              Wenn dich der Ansatz interessiert, erläutere ich den Ausdruck gerne noch etwas genaue, reguläre Ausdrücke sind anhand des Handbuchs nicht leicht zu lernen.

              Kommentar

              Lädt...
              X