/** * @param string $string_ * @param string $charset_ * * @return string */ function escape($string_, $charset_ = null) { if (null === $charset_) { $charset_ = libstd_get('charset', 'env'); } return htmlentities($string_, ENT_XML1 | ENT_COMPAT | ENT_DISALLOWED, $charset_); }
/** * Encode to (X)HTML entities or entities of given type. * * @param string $string_ * @param string $charset_ * @param integer $type_ * * @return string */ function escape($string_, $charset_ = null, $type_ = ENT_XHTML, $flags_ = ENT_QUOTES) { static $debug; static $charset; if (null === $debug) { $debug = \env\debug(); } if (null === $charset_) { if (null === $charset) { $charset = libstd_get('charset', 'env'); } $charset_ = $charset; } if ($debug) { $flags_ |= ENT_SUBSTITUTE; } return htmlentities($string_, $type_ | $flags_, $charset_, false); }
/** * @return scalar[] */ function userAgent() { static $engines = ['ie' => LIBSTD_ENV_USER_AGENT_ENGINE_MSIE, 'gecko' => LIBSTD_ENV_USER_AGENT_ENGINE_GECKO, 'webkit' => LIBSTD_ENV_USER_AGENT_ENGINE_WEBKIT]; static $browsers = ['ie' => LIBSTD_ENV_USER_AGENT_BROWSER_MSIE, 'chrome' => LIBSTD_ENV_USER_AGENT_BROWSER_CHROME, 'firefox' => LIBSTD_ENV_USER_AGENT_BROWSER_FIREFOX, 'safari' => LIBSTD_ENV_USER_AGENT_BROWSER_SAFARI]; if (false === libstd_isset('useragent', 'env')) { if (false === function_exists('get_browser')) { $info = false; } else { $info = get_browser(null, true); } $userAgent = []; if (false === $info) { $userAgent = ['engine' => LIBSTD_ENV_USER_AGENT_ENGINE_UNKNOWN, 'engine_version' => 0, 'browser' => LIBSTD_ENV_USER_AGENT_BROWSER_UNKNOWN, 'browser_version' => 0, 'mobile' => false]; } else { if (isset($info['browser'])) { $browserName = strtolower($info['browser']); if (isset($browsers[$browserName])) { $userAgent['browser'] = $browsers[$browserName]; } else { $userAgent['browser'] = LIBSTD_ENV_USER_AGENT_BROWSER_UNKNOWN; } } else { $userAgent['browser'] = LIBSTD_ENV_USER_AGENT_BROWSER_UNKNOWN; } if (isset($info['renderingengine_name'])) { $engineName = strtolower($info['renderingengine_name']); if (isset($engines[$engineName])) { $userAgent['engine'] = $engines[$engineName]; } else { $userAgent['engine'] = LIBSTD_ENV_USER_AGENT_ENGINE_UNKNOWN; } } else { $userAgent['engine'] = LIBSTD_ENV_USER_AGENT_ENGINE_UNKNOWN; } if (isset($info['majorver'])) { $userAgent['browser_version'] = (int) $info['majorver']; } else { $userAgent['browser_version'] = 0; } if (isset($info['renderingengine_version'])) { $userAgent['engine_version'] = (int) $info['renderingengine_version']; } else { $userAgent['engine_version'] = 0; } $userAgent['mobile'] = isset($info['ismobiledevice']) && (bool) $info['ismobiledevice']; } libstd_set('useragent', $userAgent); return $userAgent; } return libstd_get('useragent', 'env'); }
/** * @return string */ function libstdJsLocation() { return libstd_get('libstd', 'js'); }
/** * Converts to lowercase url friendly string. * * @param string $string_ * * @return string */ function toLowercaseUrlIdentifier($string_, $preserveUnicode_ = false) { if ($preserveUnicode_) { $string_ = mb_convert_encoding($string_, 'HTML-ENTITIES', libstd_get('charset', 'env')); } else { $string_ = toAscii($string_); } $string_ = preg_replace('/[^a-z0-9]/i', '-', $string_); $string_ = preg_replace('/-+/', '-', strtolower($string_)); if ('-' === $string_) { return null; } return $string_; }