Now XMLDBStatements support backslashed single quotes.

This commit is contained in:
stronk7
2007-03-27 20:30:22 +00:00
parent 8c2eb9802e
commit 81b65eaec6
+5 -3
View File
@@ -372,8 +372,9 @@ class XMLDBObject {
$string = str_replace($foundconcats,array_keys($foundconcats),$string);
}
/// Extract all the quoted elements from the string
preg_match_all("/('.*?')/is", $string, $matches);
/// Extract all the quoted elements from the string (skipping
/// backslashed quotes that are part of the content.
preg_match_all("/('.*?[^\\\]')/is", $string, $matches);
foreach (array_unique($matches[0]) as $key=>$value) {
$foundquotes['<%'.$key.'%>'] = $value;
}
@@ -397,7 +398,8 @@ class XMLDBObject {
if (!empty($foundconcats)) {
$element = str_replace(array_keys($foundconcats), $foundconcats, $element);
}
$arr[$key] = $element;
/// Delete any backslash used for quotes. XMLDB stuff will add them before insert
$arr[$key] = str_replace("\\'", "'", $element);
}
}