Unbekannte Zeichen im Array

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

  • Unbekannte Zeichen im Array

    Das Script liest eine HTML Seite mit file_get_contents aus.

    PHP-Code:
    $html=file_get_contents('http://'.WEB.$_POST['request_uri']);
    $html=nl2br($html);
    $html=str_replace("\n\r"," ",$html);
    $html=str_replace("\n"," ",$html);
    $html=str_replace("\t"," ",$html);
    $html=strip_tags($html);
    $html=html_entity_decode($html);
    $html=repl_zeichen($html);

    $output=explode(' ',$html);
    asort($output);
    foreach(
    $output as $wort)
    if ((
    strlen($wort)>=3) AND (!empty($wort))) {
      echo 
    '<input style="width:20px" value="'.strlen($wort).'"><input style="width:400px" value="'.trim($wort).'"><br>';

    Jetzt habe ich die Leerzeichen entfernt aber ich erhalte weiterhin leere Felder bzw. nicht sichtbare Zeichen.

    Wenn ich die Zeile auslese und mit strlen zähle erhalte ich 6 Zeichen. Ich habe schon im Inputfeld die Daten ausgegeben aber dort kann ich nur ein Leerzeichen finden. Die Ausgabe in einer Textarea ergibt ein breites Leerzeichen.

    Wie kann ich herausfinden welches Zeichen das ist?

  • #2
    was macht

    PHP-Code:
    repl_zeichen(); 
    ?

    Kommentar


    • #3
      Die HTML-Datei ist nicht zufällig per DreamWaver oder so entstanden?
      Der speichert am Anfang der Datei irgendeinen Zeichenmüll, was sehr lustig ist, weil der Firefox daran verreckt und die Website dann nur im IE vernünftig beguckbar ist...
      Vielleicht sind das die Zeichen in die du gelaufen bist~

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        oder um es mal zu verdeutlichen, bei dir steht:

        PHP-Code:
        $html=str_replace("\n\r","[b]&nbsp;[/b]",$html); 
        Erst meckern, dann helfen!

        Kommentar


        • #5
          Original geschrieben von ThemBones
          was macht

          PHP-Code:
          repl_zeichen(); 
          ?
          Sucht Sonderzeichen und verwandelt diese mit str_replace in Leerzeichen.

          z.B.:

          PHP-Code:
          function repl_zeichen($text) {
            
          $text str_replace('&'' '$text);
            
          $text str_replace('°'' '$text);
            
          $text str_replace('^'' '$text);

          Zuletzt geändert von normbox; 06.09.2007, 12:13.

          Kommentar


          • #6
            PHP-Code:
            $html=nl2br($html);
            $html=str_replace("\n\r"," ",$html);
            $html=str_replace("\n"," ",$html); 
            Also dieser Code macht nicht wirklich viel Sinn. Wieviele \n\r als Zeilenumbrüche hast du wohl in deinem Code ? Also ich tippe drauf, dass das Zeichen ein \r ist. Kannst du aber schnell selber rausfinden indem du
            PHP-Code:
            for($i=0;$i<strlen($wort);$i++){
              echo 
            ord($wort[$i]).'<br />';

            Gibt dir pro Zeile die ASCII Nummer des Zeichens zurück. Dann kannst du mittels der ASCII Tabelle festellen, um welches Zeichen es sich handelt
            Und wieso machst du überhaupt Ersetzungen mit " " ? Danach explodest du am Leerzeichen...
            Ausserdem ist nl2br() gefolgt von strip_tags() irgendwie auch für die Katze
            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


            • #7
              Original geschrieben von Gavyn
              PHP-Code:
              $html=str_replace("\n\r","[b]&nbsp;<b>oder um es mal zu verdeutlichen, bei dir steht:
              </b>"
              ,$html); 
              [/B]
              Leider nicht aber ich habe einfach mal

              PHP-Code:
              $wort=str_replace("&","",$wort); 
              und jetzt zeigt er #160; an.

              Das ist ja &amp;nbsp; aber nur als &amp;#160; geschrieben.

              Danke hat mir weitergeholfen

              Kommentar


              • #8
                Original geschrieben von jahlives
                PHP-Code:
                $html=nl2br($html);
                $html=str_replace("\n\r"," ",$html);
                $html=str_replace("\n"," ",$html); 
                Also dieser Code macht nicht wirklich viel Sinn. Wieviele \n\r als Zeilenumbrüche hast du wohl in deinem Code ? Also ich tippe drauf, dass das Zeichen ein \r ist. Kannst du aber schnell selber rausfinden indem du
                PHP-Code:
                for($i=0;$i<strlen($wort);$i++){
                  echo 
                ord($wort[$i]).'<br />';

                Gibt dir pro Zeile die ASCII Nummer des Zeichens zurück. Dann kannst du mittels der ASCII Tabelle festellen, um welches Zeichen es sich handelt
                Und wieso machst du überhaupt Ersetzungen mit " " ? Danach explodest du am Leerzeichen...
                Ausserdem ist nl2br() gefolgt von strip_tags() irgendwie auch für die Katze
                Ja das nl2br() war eine Verzweiflungstat
                Wollte sehen welche Zeichen dort enthalten waren.

                Das Problem konnte ich ja bereits lösen.

                Vielen Dank
                Zuletzt geändert von normbox; 06.09.2007, 12:30.

                Kommentar

                Lädt...
                X