enter toevoegen in een textvak.
Nu zat ik te denken over dat als ik een enter doe dat deze dan ook word uitgevoerd als ik een text uit de database echo.
Hoe is dat mogelijk om uit te voeren?
nl2br is dit een oplossing ?
gebruik nl2br wel alleen bij de output, want je wil geen HTML in je database.
@Aar;
was ik al mee bezig te editten
gebruik nl2br wel alleen bij de output, want je wil geen HTML in je database.
@Aar;
was ik al mee bezig te editten
Gewijzigd op 01/01/1970 01:00:00 door Ivo K
Op de output dan ;)
Dus als ik op de output nl2br doe dan slaat die de enters op?
Dan had ik het net anders opgevat.
Gewijzigd op 01/01/1970 01:00:00 door Nigel
elke enter die je typt in je text wordt door nl2br omgezet naar <br />, dus geen <br /> typen of \r.
Ivo schreef op 11.06.2009 20:30:
want je wil geen HTML in je database.
Maar als ik nu in me database kijk zie ik wel <br /><br />
Dus uiteindelijk heb ik wel html in me database staan?
als je mijn opmerking helemaal had gelezen, en ook die van Aar, dan wist je dat je nl2br bij de output moet gebruiken. Dan komt het niet in de database.
Code (php)
1
2
3
2
3
<?
$text=str_replace(array("<", ">", "\n"), array("<", ">", "<br />"), $text);
?>
$text=str_replace(array("<", ">", "\n"), array("<", ">", "<br />"), $text);
?>
zo zou je het ook kunnen doen.
Gewijzigd op 01/01/1970 01:00:00 door Tim Kampherbeek
Tim Kampherbeek schreef op 11.06.2009 20:51:
zo zou je het ook kunnen doen.
Code (php)
1
2
3
2
3
<?
$text=str_replace(array("<", ">", "\n"), array("<", ">", "<br />"), $text);
?>
$text=str_replace(array("<", ">", "\n"), array("<", ">", "<br />"), $text);
?>
zo zou je het ook kunnen doen.
Heb je gelezen wat er in het topic is gezegd?
Bovendien is dit niet de oplossing voor het probleem en totaal irrelevant.
@HierondeR: Nee, het is geen oplossing, aangezien je nogsteeds html ni je db hebt staan. Het is een soort van ob gebruiken bij een header fout.
Je moet de nl2br gewoon op de goede plek zetten.
Tim Kampherbeek schreef op 11.06.2009 20:51:
zo zou je het ook kunnen doen.
Code (php)
1
2
3
2
3
<?
$text=str_replace(array("<", ">", "\n"), array("<", ">", "<br />"), $text);
?>
$text=str_replace(array("<", ">", "\n"), array("<", ">", "<br />"), $text);
?>
zo zou je het ook kunnen doen.
Dit is misschien wel een oplossing, niet getest, maar gebruik functie´s waar ze voor zijn. nl2br is hiervoor gemaakt, dus gebruik het ook en ga niet het wiel vierkant uitvinden. ;-)
@karl; o ja, zo had ik het nog niet bekeken, maar je hebt gelijk over dat het alsnog in de db komt.
Gewijzigd op 01/01/1970 01:00:00 door Ivo K
Met output dacht ik de output van het textvak ==> DB
Oke dat werkt helemaal!
Toppie Bedankt !
Edit:
nl2br heeft geloof ik nog meer functies toch?
Die functie heb ik al een keer eerder ergens gezien.
Nu leuk om ook naar het andere te kijken.
Deze verplaatst dus bijv > met > ?
Kan dat niet met define (geloof een keer eerder gezien)
Gewijzigd op 01/01/1970 01:00:00 door Nigel
Nigel schreef op 11.06.2009 20:54:
nl2br heeft geloof ik nog meer functies toch?
Die functie heb ik al een keer eerder ergens gezien.
Die functie heb ik al een keer eerder ergens gezien.
Wat die doet kan je zien op php.net: nl2br ;-).
Nigel schreef op 11.06.2009 20:54:
Nu leuk om ook naar het andere te kijken.
Deze verplaatst dus bijv > met > ?
Deze verplaatst dus bijv > met > ?
Nee, nl2br vervangt niet > of < of weetikveel wat. Die post van Tim moet je vergeten, is totaal onzinnig.
Nigel schreef op 11.06.2009 20:54:
Kan dat niet met define (geloof een keer eerder gezien)
Nee, niet met define, op php.net staat wat define doet.
Edit:
Ivo schreef op 11.06.2009 20:53:
@karl; o ja, zo had ik het nog niet bekeken, maar je hebt gelijk over dat het alsnog in de db komt.
Bovendien klopt die "\n" niet, aangezien een newline platform afhankelijk is. Als je een new line wilt, gebruik dan PHP_EOL.
define("blabla", "dan wat text.", true);
als je dan "blabla" typt word dat vervangen door "dan wat text"
Of niet direct maar als je de content weer aanroept.
edit:
Oke had niet gelezen dat karl later nog zijn post had ge edit.
en dus niet gezien dat dat als nog in de database komt.
Gewijzigd op 01/01/1970 01:00:00 door Nigel
Maar zoals je ziet heeft dit niets te maken met wat jij wil.
Moeten jullie elke gelegenheid aangrijpen om Tim zwart te maken. Nu geef ik toe dat hij dat zelf voor het grootste gedeelte doet met sommige van zn posts, maar om een lijstje te posten vind ik een beetje onvolwassen...(en dat zeg ik als 14-jarige :P)
@Nigel
tja... je zou het als vervangen kunnen opvatten, maar echt vervangen doe je met *_replace().
waar maak jij op uit dat hij geen html in zijn database wil hebben staan dan?
Tim Kampherbeek schreef op 11.06.2009 21:19:
@karl.
waar maak jij op uit dat hij geen html in zijn database wil hebben staan dan?
waar maak jij op uit dat hij geen html in zijn database wil hebben staan dan?
Het maakt niet uit of hij het wil of niet. Het gaat erom dat hij het niet moet hebben.
edit:
Let nou eens een beetje op je posts... Je maakt het de andere wel heel simpel om je zwart te maken...
Gewijzigd op 01/01/1970 01:00:00 door Ivo K
Er werd mij afgeraden om geen html in de database te hebben.
Als ik zelf verder denk snap ik het wel aangezien als er een google bot langs komt die dan ook de html codes indexeerd.
@ivo.
Ja dat van nl2br() snap ik nu ondertussen en dat ga ik zeker vaker gebruiken.
Maar de discussie ging gewoon verder op de rest. ik had nl2br al achter mij gelaten. Wil op het moment gewoon zoveel mogelijk leren kwa functies enz.
Gewijzigd op 01/01/1970 01:00:00 door Nigel
Ivo schreef op 11.06.2009 21:18:
@Karl
Moeten jullie elke gelegenheid aangrijpen om Tim zwart te maken.
Moeten jullie elke gelegenheid aangrijpen om Tim zwart te maken.
Ik maak hem niet zwart. Ik zeg alleen dat hij het verkeerd doet. En volgens mij Nigel ook in de war brengt.
Tim Kampherbeek schreef op 11.06.2009 21:19:
@karl.
waar maak jij op uit dat hij geen html in zijn database wil hebben staan dan?
waar maak jij op uit dat hij geen html in zijn database wil hebben staan dan?
Uit het hele simpele principe dat je de tekst / data van de gebruiker niet aanpast voordat je het in de database stop, maar nadat je het er weer uit hebt gehaalt.
En al zou hij wel html in z'n database willen hebben, dan is het nog onnodig wat je doet, want om veilig html te tonen (dus geen blokjes of xss te krijgen) doe je htmlspecialchars of htmlentities o.i.d.
En wat er ook gebeurdt door dat stukje code van jou, de enters worden geen br's, maar die worden omgezet in:
Edit: En natuurlijk dat newline wat ik hierboven ookal uitleg.
Is phphulp normaal niet veel sneller met laden.
Een heletijd terug als ik iets deed posten herlade de pagina meteen.
Nu duurt het een tijdje.
Andere site's laden wel gewoon snel dus ligt niet aan mijn verbinding