/** * Some pre-processing logic, such as removing control characters from xml to prevent parsing errors * @param string $xml */ public static function preprocessXml(&$xml) { if (empty(PMXI_Plugin::$session->is_csv) and empty(PMXI_Plugin::$is_csv)) { self::$cdata = array(); $xml = preg_replace_callback('/<!\\[CDATA\\[[^\\]\\]>]*\\]\\]>/s', 'wp_all_import_cdata_filter', $xml); $xml = str_replace("&", "&", str_replace("&", "&", $xml)); if (!empty(self::$cdata)) { foreach (self::$cdata as $key => $val) { $xml = str_replace('{{CPLACE_' . ($key + 1) . '}}', $val, $xml); } } } }
/** * Some pre-processing logic, such as removing control characters from xml to prevent parsing errors * @param string $xml */ public static function preprocessXml(&$xml) { if (empty(PMXI_Plugin::$session->is_csv) and empty(PMXI_Plugin::$is_csv)) { self::$cdata = array(); $is_preprocess_enabled = apply_filters('is_xml_preprocess_enabled', true); if ($is_preprocess_enabled) { $xml = preg_replace_callback('/<!\\[CDATA\\[[^\\]\\]]*\\]\\]>/s', 'wp_all_import_cdata_filter', $xml); //$xml = preg_replace('/&(?![a-z#]+;)/i', '&', $xml); $xml = preg_replace('/&([^amp;|^gt;|^lt;]+)/i', '&$1', $xml); if (!empty(self::$cdata)) { foreach (self::$cdata as $key => $val) { $xml = str_replace('{{CPLACE_' . ($key + 1) . '}}', $val, $xml); } } } } }