JQuery replace in html
Mijn data variable is gevuld met tekst waarbij een linebreak wordt aangegeven als \n. Ik wil dit weergeven maar dan moet de \n een enter zijn. Alleen dit werkt niet en ik krijg het ook niet werkend.
Wat je wilt, is een echte \
Daarom moet je de \ escape-n.
"\\n"
Toevoeging op 19/07/2016 14:59:26:
en ja, dan krijg je dus 2 \ achter elkaar.
De linker \ geeft aan dat het volgnede teken geen bijzondere betekenis heeft, maar letterlijk genomen moet worden.
het tweede teken (een \ wederom) wordt nu letterlijk gelezen.
Dit zou dus de string van 2 tekens "backslash, gevolgd door een n" moeten vervangen door <br>.
Dit gebeurt waarschijnlijk alleen met de eerst voorkomende string? die \ escape-t de n (wat zinloos is want de n is niet bijzonder)
In mijn string stond \n\n en dit is nu \n geworden.
Maar ik wil natuurlijk alle \n in <br/> om laten zetten. Bedankt, dit heeft mijn probleem gedeeltelijk opgelost.
Zal wel iets met een g moeten worden....
data.replace(/\\n/g, '<br>'); google eens op "javascript replace"
Je hoeft geen <br />'s in je database op te slaan (als daar sprake van is) en dat is ook niet verstandig/wenselijk als je bij het editten van deze informatie de omgekeerde bewerking (<br /> --> \n) moet uitvoeren.
Sla alles gewoon zo rauw/ongewijzigd mogelijk op en voer dit soort omzettingen on-the-fly uit als je dingen weergeeft (en als dat via PHP kan dan is dat misschien een pre).
Mogelijk los je dit "probleem" dus op de verkeerde plaats op. Maar dit alles wordt aangestuurd door PHP? Waarom maak je bij het weergeven geen gebruik van nl2br()?
Maar ook daar is de vraag waarom dat geen Enter is. Uit het topic begrijp ik, dat er in de database al geen enter (\n, PHP_EOL) staat, maar letterlijk een backslash gevolgd door een N.
Wat je wilt, is een echte \
Daarom moet je de \ escape-n.
"\\n"
Toevoeging op 19/07/2016 14:59:26:
en ja, dan krijg je dus 2 \ achter elkaar.
De linker \ geeft aan dat het volgnede teken geen bijzondere betekenis heeft, maar letterlijk genomen moet worden.
het tweede teken (een \ wederom) wordt nu letterlijk gelezen.
Dit zou dus de string van 2 tekens "backslash, gevolgd door een n" moeten vervangen door <br>.
Dit gebeurt waarschijnlijk alleen met de eerst voorkomende string?
In mijn string stond \n\n en dit is nu \n geworden.
Maar ik wil natuurlijk alle \n in <br/> om laten zetten.
Zal wel iets met een g moeten worden....
data.replace(/\\n/g, '<br>');
Perfect! Het werkt nu, bedankt.
Je hoeft geen <br />'s in je database op te slaan (als daar sprake van is) en dat is ook niet verstandig/wenselijk als je bij het editten van deze informatie de omgekeerde bewerking (<br /> --> \n) moet uitvoeren.
Sla alles gewoon zo rauw/ongewijzigd mogelijk op en voer dit soort omzettingen on-the-fly uit als je dingen weergeeft (en als dat via PHP kan dan is dat misschien een pre).
Mogelijk los je dit "probleem" dus op de verkeerde plaats op.
Maar ook daar is de vraag waarom dat geen Enter is.