*/ 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:----iq5FBNAyUE1piYxu5fhDbupXsHFFFvM4ABu3VQMmD5HdyhQZhJk2Vrjt2FgYlMH1Ixg8ajyOG2Mmu9N9LuNIFqRIykxW44jFBO9YXj34tLHh7OC39+ODrVIU/uxF5KQw+yS9EP/w8HaPnwjcXltQq8d55vE1TtmUr6YMzcFyxcYm2jxuguWveFQGwNs/JZF+Co6s0OiYg9xUehpuG2XtYotZS0MxJhvse7Pra64/K+4Z8ciEf2vfU/RDepuuo0ubC5pX4k7O5/j6bdv0iWGBfpOrxofihdKfQX+6flKmLkc9j6HREdZw3fJRW7L8pY6NcD/NrtbbsrV73WYla4qF4SAi/3HVtlZBDs76kNjTFWsovMCSQMqvYykTdw1sct/1oc39vPAMQZ/AJUhgg3eU6rYXSdgKo0g+pSgSAIrTtcGI/c07xFLzBkAsaQg7P5HZYGR4narepzILFd8kOs6ac9fWFd3pnBOSMDJvjIlFhkeajSe97kTvi+XpFtxRkLQJ4/NsPOkvPPoWKQa6GdYtghkgEuYVKz/DBIfVpnsFZZvo49j7A8UlbuxppTu1QWOvt+eg/+jxtFXtRzq9/s+iYQUDSaTM7rpPMJOC3Ut/7F57o/qxvYa1ofSHt3yjCJla2yud/4+9zQcTYMiqzRkJY6v317nk7fdsiylPDpXtaTw=----ATTACHMENT:----NzIwMjEyMzk0MTY5NDk1NCAzNDUxMDk5ODE5NTAyNTk0IDY2MDMzODU5NTE3OTI3NTg=