hallo,

ik heb in een formulier een stukje waar mensen iets over zichzelf kunnen vertellen dit slaat hij op in een db

dit was makkelijk te maken, maar ik loop nu tegen het probleem dat sommige mensen zichzelf nogal grappig vinden en er heel veel enters/witregels in zetten.

ik weet hoe je een max aantal tekens kan doen maar een enter/witregels ziet hij als maar 2 tekens (/n) weet iemand hier een oplossing voor?

bvd,
jorn
<?php
while(strpos($string, "\n\n"))
$string = str_replace("\n\n", "\n", $string);
?>
heb het geprobeerd, maar het lukt niet:S

ik doe kennelijk iets fout

ik heb nu staan:
<?php
$content = $_POST['tekst'];

$content = htmlspecialchars($content);
while(strpos($content, "\n\n"))
{
$content = str_replace("\n\n", "\n", $content);
}
$content = nl2br($content);
?>

maar hij blijft meerdere witregels achtermekaar geven
ot: $content = $_POST['tekst']; slaat nergens, is overbodig.
ik zie zo niet wat er niet werkt.. je zou t kunnen proberen met \r\n of \r ipv \n
Misschien is preg_replace hiervoor een betere oplossing.

Je hebt namelijk ook nog meer soorten enters als \n

<?php
// Vervang 2 of meer enters door 1 enter
$content = preg_replace('/(\r\n|\n|\r){2,}/', "\n", $content);
?>
Maar dan kan je als nog dit:


d

d

d

d

d

d

d

d

d

d

d

d

d

enz.
@Jurgen:

Eensch!

@boris:

nee, je krijgt helemaal geen witregels meer.

{2,}

Betekent dat 2 of meer of meer dan 2? Want als het 2 of meer is

Dan is dit dus ook 2 of meer:

vanaf hier |

| tot hier, dat wordt dus vervangen door |
| tot hier.
2 of meer

Op regel 1 en 2 staan enters na elkaar dus dat wordt er 1.

edit:

@Boris:
Misschien moet jezelf even kijken wat mijn code doet.

Reageren