omgekeerde van nl2br()
ik echo een string uit een database in een JavaScript, dat werkt prima, maar het probleem is dat als ik een harde return zet in mijn text (=<br>) ik problemen krijg in javascript.
Ik zou dus het omgekeerde van nl2br moeten doen, ik moet dus een tekst omzetten van een tekst met <br>'s naar een text met \n, en natuurlijk moet de harde return ook weg zijn.
Maar dat lukt me niet echt.
Bdeankt voor de hulp,
Andreas
–––––NU–––––
Code:
Resultaat:
Kan dit niet gewoon met de functie str_replace() ?
Let op de '->enkele haakjes om de \n. Volgens mij zorgt dit er namelijk voor dat ze letterlijk als een slash, en een letter n worden genomen.
het probleem is dat als ik dat doe, de harde return zelf niet weg is, effectief de regelverspringing, en die moet net wel weg
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$string = str_replace("<br>", "", $string);
$string = str_replace("\n", "", $string);
$string = str_replace("\r", "", $string);
?>
$string = str_replace("<br>", "", $string);
$string = str_replace("\n", "", $string);
$string = str_replace("\r", "", $string);
?>
Zo zou je toch van alle vormen van enter af moeten zijn.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Deze moeten helemaal links staan staan, omdat de explode anders niet goed is...
$invoer_js=explode('
', $text);
// Deze code mag weer inspringen
$count=count($invoer_js);
for($i=0;$i<$count;$i++) {
if($i==0) {
echo "document.edit.text.value = \"".$invoer_js[$i]."\"\n";
} else {
echo "document.edit.text.value+= \"\\n".$invoer_js[$i]."\"\n";
}
}
?>
// Deze moeten helemaal links staan staan, omdat de explode anders niet goed is...
$invoer_js=explode('
', $text);
// Deze code mag weer inspringen
$count=count($invoer_js);
for($i=0;$i<$count;$i++) {
if($i==0) {
echo "document.edit.text.value = \"".$invoer_js[$i]."\"\n";
} else {
echo "document.edit.text.value+= \"\\n".$invoer_js[$i]."\"\n";
}
}
?>
Elwin
Eigenlijk hetzelfde als Jelmer zegt alleen dan mooi op 1 regel.
Gewijzigd op 10/06/2005 11:22:00 door Martijn B