I've got a php script which generates HTML content. Is there a way to send back that HTML content through JSON to my webpage from the php script?
The problem with HTML inside JSON is that HTML elements have properties that must use double quotes. But as soon as you insert double quotes it's going to cause syntax error because JSON can only do double quotes.
However, if your data contains HTML, there are certain things that you need to do to keep the browser happy when using your JSON data within Javascript. Escape the forward slash in HTML end tags. <div>Hello World!
Yes, you can use json_encode
to take your HTML string and escape it as necessary to be valid JSON (it'll also do things that are unnecessary, sadly, unless you use flags to prevent it). For instance, if your original string is:
<p class="special">content</p>
...json_encode
will produce this:
"<p class=\"special\">content<\/p>"
You'll notice it has an unnecessary backslash before the /
near the end. You can use the JSON_UNESCAPED_SLASHES
flag to prevent the unnecessary backslashes. json_encode(theString, JSON_UNESCAPED_SLASHES);
produces:
"<p class=\"special\">content</p>"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With