array erzeugt ungewollte leerzeichen

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

  • array erzeugt ungewollte leerzeichen

    hallo alle zusammen ;D
    da ist der boese MINORITYmaN wieder aufgetaucht um euch wieder zu buggen ^^ nein scherz

    kommen wir zum thema.
    dieser scirpt macht zwar seine aufgabe gut, aber macht leider auch
    bei der ausgabe dass $arrays von mir ungewollte leerzeichen was
    ist falsch bzw was koennte fehlen hab das mit vielen kombinationen versucht aber leider kommt nix bei raus.

    beispiel
    "navi_make.php" liest "main.nav" und macht aus "Flär Zwei" >> "flaer_zwei " alles ok aber die zwei leerzeichen sind das problem
    bei der ausgabe, das erste leerzeichen ist tatsaechlich eines direkt nach dem "i" weil wenn ich noch ein zusaetzliches str_replace
    welches leerzeichen zB in @ umwandeln soll aus diagnose gruenden
    wird daraus
    "Flär Zwei" >> "flaer_zwei@ "
    schoen und gut ein leerzeichen wird wieder entfernt aber
    was ist mit dem nach dem @ ? ist das maybe ein \n das er
    nicht umwandeln kann?
    wenn ihr es mal testen solltet achtet mal darauf, dass der letzte wert
    von "main.nav" komischerweise richtig ohne unoetige leerzeilen ausgegeben wird.

    ich hoffe ich habe es solala erklaeren koennen, sonst einfach
    testen ich hab 2 var_dumps zu testen drin un dund noch speziel
    den style auf underline gestellt damit die leerzeichen zu erkennen sind.

    thx Stefano

    navi_make.php
    PHP-Code:
    <?
    {
     $file = "main.nav";
     $array = file($file);
     for ($x = 0; $x < count($array); $x++)
         {
        #$array[$x] = str_replace(" ","_",$array[$x]);
        $navi_link = $array[$x];
        $navi_link = strtolower($navi_link); // strtolower für link
        $navi_link = str_replace(" ","_",$navi_link); // str_replace für link
        $navi_link = str_replace("ä","ae",$navi_link); // str_replace für link
        $navi_link = str_replace("ö","oe",$navi_link); // str_replace für link
        $navi_link = str_replace("ü","ue",$navi_link); // str_replace für link
        
        $navi_name = htmlentities($array[$x]); // htmlentities für name
        
        echo '<a href="?ids='.$navi_link.'" target="_self">'.$navi_name.'</a>'." \n"; // output
        if($array[$x+1] != NULL)
            {
            echo'&nbsp;&nbsp;|&nbsp;&nbsp;';
            }
            echo '<font style=" text-decoration: underline">'.$navi_link.'</font>'." \n"; // output2
        if($array[$x+1] != NULL)
            {
            echo'&nbsp;&nbsp;|&nbsp;&nbsp;';
            }
        #var_dump($navi_name);
        #var_dump($navi_link3);
        }
    }

    ?>
    main.nav
    PHP-Code:
    normal
    Stärt
    Ferienpäss 2007
    Flär
    Ömar Hassün
    Lär ZEILE 

  • #2
    trim?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      file() liest ein File Zeile für Zeile ein und lässt die Zeilenendzeichen stehen. Schon mal so probiert
      PHP-Code:
      $navi_link trim(str_replace("ä","ae",$navi_link)); 
      Gruss

      tobi
      EDIT:

      zu langsam... *seufz*

      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        zu langsam... *seufz*
        OffTopic:
        schweizer halt

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          lol

          laeuft super danke ;D

          was soll das denn heissen "schweizer halt" ^^



          xDD

          mfg Stefano

          Kommentar


          • #6
            Re: lol

            Original geschrieben von MINORITYmaN
            was soll das denn heissen "schweizer halt" ^^
            OffTopic:
            sind halt nicht die schnellsten (jahlives ist tatsächlich ein eidgenosse)


            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              lol xD

              aber eines ist jetzt noch
              http://viva2000.com/navi_make.php

              die links sind mit dem bloeden leerzeichen versehen
              so wenn ich jetzt hier trim einsetzte wird nicht aus dem
              "Flär Zwei" >> "FlärZwei" ?? in
              PHP-Code:
              $navi_name htmlentities($array[$x]); 

              Kommentar


              • #8
                trim ersetzt nur die leerzeichen am anfang und ende, nicht zwischendrin, aber die kannst du ja mit str_replace ersetzen lassen, oder?

                Kommentar


                • #9
                  trim ganz zum schluss gesetzt?

                  peter
                  EDIT:
                  ups, verlesen ... und vergessen
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Original geschrieben von Cr4ck
                    trim ersetzt nur die leerzeichen am anfang und ende, nicht zwischendrin...
                    wusste das nicht, dacht mehr an das alle entfernt werden, thx =)

                    Kommentar


                    • #11
                      Original geschrieben von MINORITYmaN
                      wusste das nicht
                      Du könntest ja vielleicht auch ab und zu mal was selber im Handbuch nachlesen.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Original geschrieben von Kropff
                        trim ganz zum schluss gesetzt?

                        peter
                        EDIT:
                        ups, verlesen ... und vergessen

                        nicht schlimm admins, programierer und (nervensaegen wie ich)
                        sind auch nur menschen, du auch ?? ^^ ;P

                        Kommentar


                        • #13
                          Original geschrieben von wahsaga
                          Du könntest ja vielleicht auch ab und zu mal was selber im Handbuch nachlesen.


                          lol und wahsaga ist keines davon er ist das TIER darunter das alles vereint ^^ ;P

                          Kommentar


                          • #14
                            Gleichfalls *lol* - und *ban*
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              @topicstarter
                              Für den Fall dass du irendwann wiedermal kommst (wiederkommen darfst). Ich wette im HTML Quelltext hättest du sehen müssen, dass es kein ' ' sondern ein &nbsp; gewesen ist, was nach der Verwendung von htmlentities() auch kein Wunder sein dürfte.

                              Gruss

                              tobi
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X