Hoe kun je enter tegen gaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eeyk Vd noot

Eeyk Vd noot

12/03/2015 21:52:35
Quote Anchor link
goede avond, heeft iemand misschien een idee hoe je 140x enter tegen kan 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
 
PHP hulp

PHP hulp

01/12/2024 01:33:37
 
- SanThe -

- SanThe -

12/03/2015 21:54:20
Quote Anchor link
Kijk eens naar trim().
 
Eeyk Vd noot

Eeyk Vd noot

12/03/2015 22:00:57
Quote Anchor link
Thanks is er ook een manier om dan de gebruiker een melding te geven dat er tekst moet worden ingevuld?

bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php

if(empty(trim($bericht)){
?>
 
- SanThe -

- SanThe -

12/03/2015 22:21:59
Quote Anchor link
Ja, je mist alleen nog een ) in die regel.
 
Eeyk Vd noot

Eeyk Vd noot

12/03/2015 22:30:12
Quote Anchor link
ik krijg met if(empty(trim($bericht))){

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
 
Thomas van den Heuvel

Thomas van den Heuvel

12/03/2015 22:35:35
Quote Anchor link
Gebruik if(trim($invoer) == '').

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
 
Eeyk Vd noot

Eeyk Vd noot

12/03/2015 22:39:36
Quote Anchor link
Thanks het werkt.

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.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/03/2015 22:41:23
Quote Anchor link
Lees bovenstaande edit - (teveel) tekst automatisch aanpassen kan irritant zijn voor de gebruiker (zo heeft dit forum enkele eigenaardigheden :)).
 
Eeyk Vd noot

Eeyk Vd noot

12/03/2015 22:44:08
Quote Anchor link
ja dat ben ik ook vanplan met de Lees meer optie.
maar in het overzicht moet alles zo klein mogelijk.


Afbeelding
 
Thomas van den Heuvel

Thomas van den Heuvel

12/03/2015 23:19:20
Quote Anchor link
Geef dan een mogelijkheid om een bericht uit te klappen, net zoals YouTube comments.
EDIT: ah, dat was je al van plan, nvm :).
Gewijzigd op 12/03/2015 23:19:52 door Thomas van den Heuvel
 
Eddy E

Eddy E

13/03/2015 13:08:42
Quote Anchor link
Ik gebruik regelmatig dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$tekst
= str_replace("<br><br>", "<br>", nl2br($tekst);
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dit is
een
lang
bericht

van

maar




dertien

woorden
lang. Dus. Klaar.
 
Eeyk Vd noot

Eeyk Vd noot

13/03/2015 13:16:43
Quote Anchor link
ik gebruik nu
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
   $text
= preg_replace('/\s*$^\s*/m', "<br />\n", $text);
                $text = preg_replace('/[ \t]+/', ' ', $text);
?>


en dit werkt prima.


Afbeelding
Afbeelding
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.