tags that get decoded
$oldChars = array('<p>', '</p>');
// since I use CDATA and tags always together - I create an array
// of what I want to replace the decoded
tags with.
$newChars = array('', '
]]>');
// use the PHP string replace function to replace every decoded opening
// tag with a CDATA tag followed by a
tag, and also repeat this
// with the closing
, replacing it with an encoded tag followed
// by a closing CDATA tag.
$xmlcdRep = str_replace($oldChars, $newChars, $HTTP_RAW_POST_DATA);
// use html entity encode to fix the remaining decoded html tags
$xmlString = html_entity_decode($xmlcdRep);
// hopefully by here - the decoded 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 "";
}else{
print "";
}
fclose($file);
?>
Pastie
