Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
This paste will be private.
<?php $xmlLoc = $_GET['g']; $file = fopen($xmlLoc, "w+") or die("Can't open XML file"); // create array containing common tags that get destroyed // these are unlikely to crop up anywhere else in an XML since they are so specific $oldChars = array("<p>", "</p>", "<br/>"); // create array containing desired replacements for above mangled tags // taking care to ensure that the relative positions of the tags between // arrays match correctly. $newChars = array("<![CDATA[<p>", "</p>]]>", "<br/>"); // use the ever-so-handy php replace string function to replace // every instance of a mangled tag with a corrected version $xmlString = str_replace($oldChars, $newChars, $HTTP_RAW_POST_DATA); // hopefully by here - the mangled tags will be properly reformatted and // the xml can saved back to the server correctly // the only thing i don't know how to do is to preserve the visual // spacing structure so if you open the xml in dreamweaver or text // editor, it still retains it's original well laid out form. if(!fwrite($file, $xmlString)){ print "<?xml version=\"1.0\" encoding=\"utf-8\"?><output>Error writing to XML-file</output>"; }else{ print "<?xml version=\"1.0\" encoding=\"utf-8\"?><output>XML File Saved</output>"; } fclose($file); ?>
From the Design Piracy series on my blog: