Hoe kun je enter tegen gaan
ik ben bezig met een script waar mensen berichten kunnen achter laten een soort gastenboek alleen zit er een "fout" in je mag 140 tekens gebruiken alleen kan iemand ook 140 enter in drukken waardoor je dus 140 legen regels hebt in je gastenboek.
hoe kan ik dit tegen gaan? of beperken tot 4 enters inplaats van 140.
mvg
Kijk eens naar trim().
Ja, je mist alleen nog een ) in die regel.
deze error : Fatal error: Can't use function return value in write context in /home/klant00324/domains/.nl/public_html/reactie.php on line 106
trim() werkt alleen op het begin en einde van je string.
Dus als iemand het volgende intypt:
a
138xenter
b
Dan werkt dat gewoon.
Voor dat soort clowns heb je moderators.
EDIT: wat een betere strategie zou zijn, maar ik zou niet al te veel van dit soort automatische ingrepen in invoer doen, is het "samenvoegen" van enters.
Heb je meerdere regelovergangen achter elkaar, vervang deze dan door 1 enkele regelovergang.
Daarmee verander je mogelijk wel de betekenis van hetgeen iemand invoerde. Ik zou dit verder gewoon ongewijzigd laten - je moet niet teveel tekst automatisch willen formatten, want dat is gewoon irritant.
Gewijzigd op 12/03/2015 22:40:24 door Thomas van den Heuvel
ik probeer zo veel mogelijk met php op te lossen anders ben je heel de dag je gebruikers aan het volgen.
dat is niet de bedoeling.
Lees bovenstaande edit - (teveel) tekst automatisch aanpassen kan irritant zijn voor de gebruiker (zo heeft dit forum enkele eigenaardigheden :)).
EDIT: ah, dat was je al van plan, nvm :).
Gewijzigd op 12/03/2015 23:19:52 door Thomas van den Heuvel
Waar $tekst natuurlijk jouw tekst is.
Wat doet het: alle nieuwe lijnen (zachte enter) omzetten naar een harde enter.
En bij twee harde enters achter elkaar, maak je er 1 van. Zo voorkom je ook dit:
Code (php)
1
2
3
4
2
3
4
<?php
$text = preg_replace('/\s*$^\s*/m', "<br />\n", $text);
$text = preg_replace('/[ \t]+/', ' ', $text);
?>
$text = preg_replace('/\s*$^\s*/m', "<br />\n", $text);
$text = preg_replace('/[ \t]+/', ' ', $text);
?>
en dit werkt prima.