php - Managing quotes when using CKEditor setData function
I want to print a table in PHP, each row has a button to load it's content (HTML codes) into the CKEditor instance.
$column = '<td><a href="#" onclick="CKEDITOR.instances.editor.setData(' . "'" . $HTMLcode . "');" . '">Load</a></td>';
echo $column;
The HTML code also contains quotes because of the CSS styles:
<p style='text-align: center;'>
I had this result, obviously it breaks the code:
<a href="#" onclick="CKEDITOR.instances.editor.setData('<p style='text-align: center;'>Great.</p>');">Load</a>
Any workaround for this? Any help would be appreciated! Thanks in advance, Daniel.
Answer
Solution:
The common solution is :
There's also which should make the string parseable in JavaScript.
What speaks for choosing htmlentities() over addslashes() is the fact that in a valid HTML document, there must be no raw ampersands
&
. They need to be escaped as&
even in JavaScript statements when those are not enclosed inCDATA
tags.Answer
Solution:
All you have to do is escape the quote characters in the string that you pass to the setData function.
Answer
Solution:
Basically, you have some quotes in a string, and want them escaped.
A solution, I suppose, would be to use something like
:
And you'll get the following HTML code :
i.e. the quotes in the string that's passed to
CKEDITOR.instances.editor.setData
are escaped.