Box\Spout\Common\Escaper\ODS::escape PHP Method

escape() public method

Escapes the given string to make it compatible with XLSX
public escape ( string $string ) : string
$string string The string to escape
return string The escaped string
    public function escape($string)
    {
        if (defined('ENT_DISALLOWED')) {
            // 'ENT_DISALLOWED' ensures that invalid characters in the given document type are replaced.
            // Otherwise control characters like a vertical tab "\v" will make the XML document unreadable by the XML processor
            // @link https://github.com/box/spout/issues/329
            $replacedString = htmlspecialchars($string, ENT_QUOTES | ENT_DISALLOWED);
        } else {
            // We are on hhvm or any other engine that does not support ENT_DISALLOWED
            $escapedString = htmlspecialchars($string, ENT_QUOTES);
            // control characters values are from 0 to 1F (hex values) in the ASCII table
            // some characters should not be escaped though: "\t", "\r" and "\n".
            $regexPattern = '[\\x00-\\x08' . '\\x0B-\\x0C' . '\\x0E-\\x1F]';
            $replacedString = preg_replace("/{$regexPattern}/", '�', $escapedString);
        }
        return $replacedString;
    }