br's in database met textarea

  • Onderwerp starter Onderwerp starter wake
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

wake

Gebruiker
Lid geworden
21 aug 2007
Berichten
195
Hallo,

Ik heb een textarea waar mensen meerdere lijnen met enters moeten kunnen maken.

als ik nl2br($_POST['textarea']) of str_replace("\n","<br />", $_POST['textarea']) gebruik, dan zet hij wel netjes de enters om naar br, maar ik wil dat hij voordat in de database word weggeschreven moeten de daadwerkelijke enters eruit. Nu doet schrijft hij dit weg:

test
<br />hoi

en het moet zo worden:
test<br />hoi

weet iemand wat ik hiervoor moet gebruiken?
 
Ja, je gebruikt nl2br() verkeerd.

nl2br is een _weergavefunctie_. Gebruik deze functie dus ALLEEN bij de weergave. De string zoals hij wordt ingevoerd ($_POST['text']) sla je op in de database, pas bij het ophalen van de database of het daadwerkelijke weergeven van de variabele pas je nl2br() toe.
 
het probleem is nu het volgende:

dit is mijn javascript waarmee ik een div wijzig van text.. hij neemt hier de description mee in op.. ( <?= nl2br($upic_description) ?> )
HTML:
<script>
function set_picturedescription() {
  var  metaDataForm = ['<form method=post>',
	'<input type="hidden" name="descriptionchange" value="1">',
	'<b><?= $txt_profpic_description?>:</b>',
	'<textarea type="text" style="width: 291px;" rows="7" name="description" onkeypress="return setmax_textarea(this, 500);">',
	'<?= nl2br($upic_description) ?>',
	'</textarea> <BR><input type="submit" value="<?= $txt_profpic_save ?>">',
    '</form>'].join('');

  document.getElementById('picture-description').innerHTML = metaDataForm;
}
</script>

dit word omgezet door php en zijn nl2br naar dit:
HTML:
function set_picturedescription() {
  var  metaDataForm = ['<form method=post>',
	'<input type="hidden" name="descriptionchange" value="1">',
	'<b>Description:</b>',
	'<textarea type="text" style="width: 291px;" rows="7" name="description" onkeypress="return setmax_textarea(this, 500);">',
	'Hoi ik ben bo<br />
en ik ben bo',
	'</textarea> <BR><input type="submit" value="Save">',
    '</form>'].join('');

  document.getElementById('picture-description').innerHTML = metaDataForm;
}

door de enter maakt hij dus een nieuwe regel aan in mijn bron.. daardoor werkt mijn javascript niet meer:S

hoe zou ik dat dan kunnen oplossen?

.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan