Hi Alex, Still didn't work for me :( Just produced broken HTML output again.
On Jun 4, 5:24 pm, "Alex McAuley" <webmas...@thecarmarketplace.com> wrote: > You need to do it a bit differently with php json_encode/decode ... i had > this problem when i first started using it.... > > where you send post data (JSON) as p > > $post=str_replace('\"', '"', $_POST['p']); > $json=$post; > $d=json_decode($json,true); > > foreach($d as $key=>$val) { ...... do what you will with it after this > unless you know the key names !! > > This should do the trick for you > > HTH > > ALex > > ----- Original Message ----- > From: "Matt" <i...@leedsguide.co.uk> > To: "Prototype & script.aculo.us" <prototype-scriptaculous@googlegroups.com> > Sent: Thursday, June 04, 2009 4:30 PM > Subject: [Proto-Scripty] Re: HTML breaks JSON > > Hi again, > > I've been running addslashes() on the input before running json_encode > () and it still creates problems when I pass it through AJAX - breaks > HTML tags etc. If I turn addslashes() off, any occurence of "" in the > body text (eg quotes from speakers etc) breaks the code again. Does > anyone have a foolproof method? > > Cheers > Matt > > On Apr 24, 9:54 pm, Matt Foster <mattfoste...@gmail.com> wrote: > > What are you sending to PHP's json_encode? It is expecting a > > structure to serialize into a JSON syntax string. > > > $struct = array("message" => "<h1>Hello World</h1>Who says we can't > > have any kind of \"quotes\" we want?"); > > > echo json_encode($struct); > > > If you try to run json_encode on your already JSONified string, yeah > > its going to cause problems... > > > -- > > >http://positionabsolute.net > > > On Apr 24, 12:26 pm, "T.J. Crowder" <t...@crowdersoftware.com> wrote: > > > > @Ananth: > > > > Converting to Base64 would be massive overkill, surely. > > > > @OP: > > > > There's no reason you can't include strings containing HTML in JSON > > > data. You just have to make sure your strings are valid string > > > literals, like this: > > > > { > > > message: "<p>This is HTML.</p>" > > > > } > > > > There's nothing special other than making sure the HTML is correctly > > > escaped -- e.g., if you're putting the JSON string in double quotes, > > > naturally any double quotes in the HTML will need a backslash in front > > > of them -- as, for that matter, will any backslashes! > > > > HTH, > > > -- > > > T.J. Crowder > > > tj / crowder software / com > > > > On Apr 24, 5:05 pm, Ananth Raghuraman <araghuram...@gmail.com> wrote: > > > > > JSON should not contain HTML for tactical/ease of programming purposes > > > > unless the HTML is there as part of a larger design, but there may or > > > > may > > > > not be implementation restrictions. > > > > If you are facing problems, can you try encoding the HTML string > > > > (Base64) > > > > and decoding back (using Javascript Base64 code ) before display on > > > > the > > > > browser? > > > > > On Fri, Apr 24, 2009 at 11:30 AM, Matt <guitarroman...@gmail.com> > > > > wrote: > > > > > > Hi there, > > > > > > I'm using PHP to output some JSON through AJAX to my page. It breaks > > > > > whenever I use a backslash or quote mark. > > > > > > I've tried using php's json_encode function which doesn't seem to > > > > > help, just breaks it further. I've also tried php's addslashes() to > > > > > the output, again, same problem. > > > > > > Am I approaching this correctly, fundamentally? Is JSON supposed to > > > > > contain HTML? > > > > > > Thanks, > > > > > > Matt --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---