diff options
author | admin <devnull@localhost> | 2006-10-23 23:37:22 +0200 |
---|---|---|
committer | admin <devnull@localhost> | 2006-10-23 23:37:22 +0200 |
commit | 7acd581d9441fb8ada4c46c58f4ec30a01507506 (patch) | |
tree | 6e62cffa5d1da5b60dfe06fa0338bf1ac78011f7 /system/helpers/xml_helper.php | |
parent | ca335fcd8342ec1422a63ac397a404e73766b0ef (diff) |
Diffstat (limited to 'system/helpers/xml_helper.php')
-rw-r--r-- | system/helpers/xml_helper.php | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/system/helpers/xml_helper.php b/system/helpers/xml_helper.php index 4cc91f4ef..856722b32 100644 --- a/system/helpers/xml_helper.php +++ b/system/helpers/xml_helper.php @@ -36,15 +36,18 @@ */ function xml_convert($str) { - $temp = '__TEMP_AMPERSANDS'; - + $temp = '__TEMP_AMPERSANDS__'; + + // Replace entities to temporary markers so that + // ampersands won't get messed up $str = preg_replace("/&#(\d+);/", "$temp\\1;", $str); $str = preg_replace("/&(\w+);/", "$temp\\1;", $str); $str = str_replace(array("&","<",">","\"", "'", "-"), array("&", "<", ">", """, "'", "-"), $str); - + + // Decode the temp markers back to entities $str = preg_replace("/$temp(\d+);/","&#\\1;",$str); $str = preg_replace("/$temp(\w+);/","&\\1;", $str); |