Portal > Foren > PHP > PHP-Programmierung > Leerzeichen und TAB im String
Antwort
 
Themen-Optionen
Alt 09.03.2007, 10:58 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 03.11.2005
Ort: Krefeld
Beiträge: 12
Standard Leerzeichen und TAB im String

Hallo zusammen,

ich stehe gerade vor dem Problem ein String zu bereinigen.

Zu meinem Problem, ich lese Werte aus einer Datenbank und schreibe diese in ein Inputfeld (Form). Im Firefox läuft alles prima nur wie immer macht der IE mir Probleme. Wie im Titel zu erkennen ist habe ich ein Problem mit TABS.
Im IE erscheinen die Wete aus der Datenbank irgendwo mitten im Inputfeld, d.h. ich muss eine ganze weile nach rechts schieben um den Inhalt zu sehen.

Das wirklich seltsame ist, das die Daten in der DB sauber eingetragen wurden, also ich bearbeite den String bevor er in die DB kommt.

Dazu habe ich folgende Funktion
PHP-Code:
function CleanString($InputString){
 
    
//Entfernen aller Leerzeichen am Anfang und Ende des Strings
    
$string trim($InputString);
    
    
//Entfernen aller PHP und HTML Tags aus dem String
    
$string strip_tags($string);
    
    return 
$string;
        

Auch das bearbeiten der Inhalte vor der ausgabe hilft nicht wirklich weiter...
Da ich vermutet habe, das meine Funktion nicht wirklich sauber arbeitet habe ich folgendes gefunden
PHP-Code:
$string preg_replace("/ +/"''$string); 
Das soll alle Leerzeichen innerhalb eines Strings sauber entfernen...
Im Firefox wars auch so nur der IE.... naja ihr wisst schon

Hier nochmal meine Abfrage, vielleicht ist ja da der Wurm drin ^^
PHP-Code:
                                    $sqlKeys 'SELECT A.Suchwort AS Suchwort FROM '
                                        
' tblstichwort AS A, tblkoppeldokuwort AS B WHERE '
                                        
' A.StichwortID = B.StichwortID AND '
                                        
' B.DokumenteID = ' $_GET['dID'] . '';
                                    
$resultKeys mysql_query($sqlKeys);
                                    echo 
mysql_error();
                                    
                                    while (
$datenKeys mysql_fetch_array($resultKeys)) {
                                    
                                        
$out .= CleanString($datenKeys[Suchwort]) . ' , ';
                                    
                                    }
                                    echo 
preg_replace("/ +/"''$out); 
Hat jemand von euch eine Idee wie ich eventuell die Tabs entfernen kann??? Ich vermute, dass es Tabs sind, nur voher kommen die???


Gruß aus Krefeld
__________________
Es gibt 10 Wege Binärcode zu verstehen. Ganz oder garnicht
web2 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.03.2007, 11:02 Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 591
Standard

Zitat:
$string = preg_replace("/ +/", '', $string);
Hmm, Tabs sind \t, keine Leerzeichen

... str_replace("\t", '', $string); ...
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.03.2007, 11:07 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 03.11.2005
Ort: Krefeld
Beiträge: 12
Standard

Da hast du recht

Nur leider sind es wohl keine Tabs, das Resultat bleibt das selbe

Gibt es eine Funktion die alle Sonderzeichen entfernt???
Ich habe nämlich keine Idee mehr was das sein könnte....


EDIT:
habe folgendes schon versucht
- htmlentities()
- strip_tags()
- trim()


-----------------------------------------------------------

Fehler gefunden.... war mein Fehler

PHP-Code:
<input name="keys" id="keys" size="55" value="
   <?
   $sqlKeys = 'SELECT A.Suchwort AS Suchwort FROM '
      . ' tblstichwort AS A, tblkoppeldokuwort AS B WHERE '
      . ' A.StichwortID = B.StichwortID AND '
      . ' B.DokumenteID = ' . $_GET['dID'] . '';
   $resultKeys = mysql_query($sqlKeys);
   echo mysql_error();
                                    
   while ($datenKeys = mysql_fetch_array($resultKeys)) {
                                    
       $out .= CleanString($datenKeys[Suchwort]) . ' , ';
                                    
   }
   $out = str_replace("\t", '', $out);
   echo htmlentities($out);    
   ?>
">
Das Problem ist, das ich das Attribut value durch den Umbruch wohl total zerschossen habe....

So gehts:

PHP-Code:
   <?
   $sqlKeys = 'SELECT A.Suchwort AS Suchwort FROM '
      . ' tblstichwort AS A, tblkoppeldokuwort AS B WHERE '
      . ' A.StichwortID = B.StichwortID AND '
      . ' B.DokumenteID = ' . $_GET['dID'] . '';
   $resultKeys = mysql_query($sqlKeys);
   echo mysql_error();
                                    
   while ($datenKeys = mysql_fetch_array($resultKeys)) {
                                    
       $out .= CleanString($datenKeys[Suchwort]) . ' , ';
                                    
   }
   ?>
   <input name="keys" id="keys" size="55" value="<?echo $out;?>">
Danke nochmal...
__________________
Es gibt 10 Wege Binärcode zu verstehen. Ganz oder garnicht

Geändert von web2 (09.03.2007 um 11:18 Uhr).
web2 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
Leerzeichen trennen String ! Jan PHP-Programmierung 23 19.05.2006 20:03
Symbolklassen festlegen anna Allgemeine Java-Programmierung 2 12.11.2005 11:30
Datei einlesen. cyberdevil87 Allgemeine Java-Programmierung 3 27.06.2005 09:22
leerzeichen bei zeilenumbruch in einem string mr.no Allgemeine Java-Programmierung 13 09.01.2005 13:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:49 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44