Dubbele enters

Gestart doorEleky10 reacties51 weergaven

11 berichten · pagina 1 van 1

Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik loop tegen een klein probleempje aan.
Ik wil bij de input van een textarea 3 enters achter elkaar kunnen vervangen met 2 enters.
Volgens mij is het heel simpel met str_replace, maar het lukt mij steeds gewoon niet.
Dus is er iemand die hier een simpele oplossing voor heeft?

Ik zit niet te wachten op google antwoorden, uiteraard heb ik dit al gedaan
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
$string = str_replace("nnn", "nn", $string);
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Werkt niet, of tenminste in mijn geval niet
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Dan doe je het niet goed of bedoel je iets anders dan je vertelt.
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Volgens mij vertel ik het goed, maar ik heb de volgende functie:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] clean[COLOR= #007700]([/COLOR][COLOR= #0000BB]$string[/COLOR][COLOR= #007700]){[/COLOR]
        [COLOR= #0000BB]$string[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"   "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"  "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$string[/COLOR][COLOR= #007700]);[/COLOR]
        [COLOR= #0000BB]$string[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"nnn"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"nn"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$string[/COLOR][COLOR= #007700]);[/COLOR]
        [COLOR= #0000BB]$string[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/trim"]trim[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$string[/COLOR][COLOR= #007700]);[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$string[/COLOR][COLOR= #007700];
}[/COLOR]


En ik heb nu een simpel textarea waarvan ik de input door deze functie haal en dan met nl2br echo.
Vervolgens blijven de enters gewoon staan
0
Berichten
3.112
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Eleky schreef:
Volgens mij vertel ik het goed, maar ik heb de volgende functie:
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] clean[COLOR= #007700]([/COLOR][COLOR= #0000BB]$string[/COLOR][COLOR= #007700]){[/COLOR]
        [COLOR= #0000BB]$string[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"   "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"  "[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$string[/COLOR][COLOR= #007700]);[/COLOR]
        [COLOR= #0000BB]$string[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"nnn"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]"nn"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$string[/COLOR][COLOR= #007700]);[/COLOR]
        [COLOR= #0000BB]$string[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/trim"]trim[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$string[/COLOR][COLOR= #007700]);[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$string[/COLOR][COLOR= #007700];
}[/COLOR]


En ik heb nu een simpel textarea waarvan ik de input door deze functie haal en dan met nl2br echo.
Vervolgens blijven de enters gewoon staan

Probeer het dan eens met

ipv nnn
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
nl2br word pas na deze functie gebruikt dus daar kan de fout niet zitten
Daarnaast wil ik het graag filteren voor ik het in de database gooi en pas naar
zetten als ik het echo
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nee dat wil je niet, want je wil geen html in je db hebben staan.

@Eleky: even kijken of er niet /r/n van wordt gemaakt?
0
Eleky

Lid · Topicstarter

Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Heb ik in gedachten gehad, maar ik kan helaas nergens vinden hoe je zichtbaar maakt wat er staat.
Heb de str_replace al wel geprobeert met rn en nr en dat had geen effect

toevoeging op 25 november 2012, 181643:
EDIT: Ik heb mogelijk ontdekt waar het mis gaat. Als ik 2 woorden typ met daartussen 6 wit regels komen er tijdens het echooen 4 witregels te staan, en bij 3 enters worden dit er netjes 2.
Dit gaat op de volgende regel:

$string = str_replace("rnrnrn", "rnrn", $string);

Hij doet het dus wel, alleen vervangt hij ze nu dus per 3 regels met 2, alleen als je er dus meer hebt werkt het niet correct.
Enig idee hoe ik dit oplos?
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
met een while checken of er nog 3x rn achter elkaar in de string zit, en zolang dat het geval is die str replace uitvoeren.
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Of, wat met beter lijkt, met een reguliere expressie. Ben er zelf niet super in.

zoiets: preg_replace(/[nr]+[nr]+/ , nrnr, $string)
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren