lange Wörter im Kommentar zerteilen ...?!

HammerHe@rt

Erfahrenes Mitglied
also ich hab ein kommentarfeld wo jeder was reinkrizeln kann...
gibt ja immer paar idioten die hatl müll reinschreiben
so zbsp 100 'o' s hintereinander..
dann zerreist es mir in der darstellung das ganze layout..weil er kein zeilenumbruch macht in ner tabelle.....


wie kann ich bereits vor dem eintragen in die db diesen langen strings mit leerzeichen trennen oder so das mir sowas nicht passieren kann?

sagen wir mal 20 zeichen je wort maximal.....
mfG
Hammerhe@rt


Ps. das problem is halt es muss ja nich immer so langes wort drinne sein oder irgendwo in dem kommentrafeld also in der variable $kommentar.....
 
naja mach es folgender massen
PHP:
for(i = 0; i  < 255; i++)
{
    str_replace(Chr(i)Chr(i)Chr(i),"");
}

Naja mit der Schleife gehst du das Charset durch und tauscht jeweils 3 gleiche hintereinander geschriebene Buchstaben mit nichts aus.

Du kannst natuerlich das auch einschraenken und nur von
i = 32 zu 126 laufen lassen somit schliesst du alle Grossbuchstaben alle kleinbuchstaben Spaces und so ziemlich alle gaengigen Sonderzeichen aus.

Schau einfach mal das Char set an und teste die Performance.

PS: Script ist aus dem Gedaechtniss geschrieben und nicht geprueft ...
muesste aber funktionieren .
 
hmmmm

das würde dann aber sowas nich ausschließen oder ->

sagfgkldskgkuritgmsfldgsdfgjrlgjsdfbkdlkgödgösrgsgfkaöflkaeof



????

mfG
Hammerhe@rt
 
Das ist richtig das wuerde nur z.B
oooooooooooooo sss sss uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
usw ausschliessen

fuer das was du vorhast ist die sache schon etwas komplizierter.

Du musst den String mit explode()
in ein Array umwandeln;

PHP:
$eintrag = "akjfasdofghsdfuiogsdfjgdsfojgkodsfmgjnklsdfmgbkldsfmjnbk";
$eintrags_Arrary = explode(" ",$eintrag);

foreach ($eintrags_Array as  $wort)
{
  if(strlen($wort) > 20)
        {
        $wort = "-deleted-";
         }
}

$eintrag = implode(" ",$eintrags_Array);

Damit muesste es gehen.
Also am besten ist eine Kombination aus beidem !
 
@ FireFart:
mit deinem Beispiel hat er gerade erreicht das alle 20 Zeichen eine Zeilenschaltung passiert. Der muell ist denoch nicht geloescht.
 
ahja

ich versuch ma zu verstehn

erst versuchst du in ein array den kommentar mit explode zu "teilen" in alle worte die durch ein leerzeichen getrennt sind..

wenn nu eines dieser länger als 20 zeichen ist wird es erseztz oder halt was anderes gemacht...


alles richtig soweit?

mfG
Hammerhe@rt

PS: muss ich dann gleich mal ausprobieren....
 
soooo

und zum abschluss sagste mir noch wie ich ein mehrzeiliges Textfeld von vornherein begrenzen kann...sagen wir mit 200 Zeichen *g*

und zwar so wie im einzeiligen (zbsp mit 10) das da einfach nich mehr reingeht.....


mfG
Hammerhe@rt

PS: BITTE *g*
 
öhm also wenn ich jetzt nich ganz zugedröhnt war dann geht das nich beim mehrzeiligen textfeld......

mfG
Hammerhe@rt

PS: werds aber trotzdem gleich sofort NOCHMA probieren...
 
Zurück