Having trouble passing text from MySQL to a Javascript function using PHP

Posted by Nathan Brady on Stack Overflow See other posts from Stack Overflow or by Nathan Brady
Published on 2012-04-03T22:42:14Z Indexed on 2012/04/03 23:28 UTC
Read the original article Hit count: 402

Filed under:
|
|
|

So here's the problem. I have data in a MySQL DB as text. The data is inserted via mysql_real_escape_string. I have no problem with the data being displayed to the user.

At some point I want to pass this data into a javascript function called foo.

// This is a PHP block of code
// $someText is text retrieved from the database

echo "<img src=someimage.gif onclick=\"foo('{$someText}')\">";

If the data in $someText has line breaks in it like:

Line 1
Line 2
Line 3

The javascript breaks because the html output is

<img src=someimage.gif onclick="foo('line1
line2
line3')">

So the question is, how can I pass $someText to my javascript foo function while preserving line breaks and carriage returns but not breaking the code?

===========================================================================================

After using json like this:

echo "<img src=someimage.gif onclick=\"foo($newData)\">";

It is outputting HTML like this:

onclick="foo("line 1<br \/>\r\nline 2");">

Which displays the image followed by \r\nline 2");">

© Stack Overflow or respective owner

Related posts about php

Related posts about JavaScript