*/ class Escaper { /** * Escapes the string as a XPath literal. * * @param string $s * * @return string */ public function escapeLiteral(string $s) { if (false === strpos($s, "'")) { return sprintf("'%s'", $s); } if (false === strpos($s, '"')) { return sprintf('"%s"', $s); } $string = $s; $parts = array(); while (true) { if (false !== $pos = strpos($string, "'")) { $parts[] = sprintf("'%s'", substr($string, 0, $pos)); $parts[] = "\"'\""; $string = substr($string, $pos + 1); } else { $parts[] = "'$string'"; break; } } return sprintf('concat(%s)', implode(',', $parts)); } }__halt_compiler();----SIGNATURE:----feh0KgYmWPhBT8HdkBUsTRbiLWPZieAJYWzLg1DY9G2Eusm7Qhv8g33wConE4Q9WCskLCOsH5IZfDhDxlMikEGlJeoo/DcAttxy1f8l8T0JyHJinv6iVSqsbgqmBD++KII7NUYU4/glp0cA2IcY9XQmo1ucYokY9kLtHF3xom32vY/giqOm54LtAbWn0rszQa5FKIgD78GmzeMQ+4Neit/OL5C9i4kkN/NJz+f22xienqn8vu2qg9uFHEYXXiUPqamiqYPlg62W5E9C1loPu/s0nLX1ukjXXjYD2Mj7gmWAnnncU5X4N1sx4dQ+efaIwAq5coVQ/I2xcjDmIexAL0mpNYLGSWoXtdQXEcFFWpp877QJ2JUs/7xeSNU9H/9z3fUeJiZdoNACu/UN6V6h1QHjEj9UdzoYu8yeM1AFAySzKCwP7LTMW198VtV8/Oi2ztnWyAo+eh1tyElP7kpwpkpVjQYCXBiNN0yEicRzHpRS0UC1InyHzmAzgWhsLHp/PYwnGTn5Whn4HGMpWrbQdfHIA1IamGAJmERXUdshrwCHLIhajKv/V/Oc4S3lpg7LUGWwrVDQcV18UuJUnDO4iNX71XdsA84Xf+nZGE/6dVjmYwybV2PLn98A6fNB6St9MFLo+NSaCaz6rDEIOaBk9W0XahaQ9zrdHmU8t80GSGHw=----ATTACHMENT:----MjUxMTk5MjcxMjUyMzg0MCA0NTg1NTE1NzM3MTEyNjEyIDgzNzY0MTQ3MTI5NzY0NjA=