JQuery replace in html

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny von Gaal

Danny von Gaal

19/07/2016 14:54:13
Quote Anchor link
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.

Iemand?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$("#moopmerking2").html(data.replace("\n", "<br />"));
Gewijzigd op 19/07/2016 14:54:32 door Danny von Gaal
 
PHP hulp

PHP hulp

04/07/2020 19:12:35
 
Ivo P

Ivo P

19/07/2016 14:57:05
Quote Anchor link
die \ escape-t de n (wat zinloos is want de n is niet bijzonder)

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?
 
Danny von Gaal

Danny von Gaal

19/07/2016 15:19:18
Quote Anchor link
Bedankt, dit heeft mijn probleem gedeeltelijk opgelost.
In mijn string stond \n\n en dit is nu \n geworden.

Maar ik wil natuurlijk alle \n in <br/> om laten zetten.
 
Ivo P

Ivo P

19/07/2016 15:30:06
Quote Anchor link
google eens op "javascript replace"

Zal wel iets met een g moeten worden....

data.replace(/\\n/g, '<br>');
 
Danny von Gaal

Danny von Gaal

19/07/2016 15:57:43
Quote Anchor link
Perfect! Het werkt nu, bedankt.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/07/2016 17:09:40
Quote Anchor link
Maar dit alles wordt aangestuurd door PHP? Waarom maak je bij het weergeven geen gebruik van nl2br()?
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.
 
Ivo P

Ivo P

19/07/2016 17:42:33
Quote Anchor link
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.

Maar ook daar is de vraag waarom dat geen Enter is.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.