Convert
class Convert (View source)
Library of conversion functions, implemented as static methods.
The methods are all of the form (format)2(format), where the format is one of
raw: A UTF8 string attr: A UTF8 string suitable for inclusion in an HTML attribute js: A UTF8 string suitable for inclusion in a double-quoted javascript string.
array: A PHP associative array json: JavaScript object notation
html: HTML source suitable for use in a page or email text: Plain-text content, suitable for display to a user as-is, or insertion in a plaintext email.
Objects of type ViewableData can have an "escaping type", which determines if they are automatically escaped before output by SSViewer.
Methods
Convert a value to be suitable for an XML attribute.
Convert a value to be suitable for an HTML attribute.
Convert a value to be suitable for an HTML ID attribute. Replaces non supported characters with a space.
Convert a value to be suitable for an HTML ID attribute. Replaces non supported characters with an underscore.
Ensure that text is properly escaped for Javascript.
Encode a value as a JSON encoded string. You can optionally pass a bitmask of JSON constants as options through to the encode function.
Safely encodes a value (or list of values) using the current database's safe string encoding method
Safely encodes a SQL symbolic identifier (or list of identifiers), such as a database, table, or column name. Supports encoding of multi identfiers separated by a delimiter (e.g. ".")
Converts an XML string to a PHP array See http://phpsecurity.readthedocs.org/en/latest/Injection-Attacks.html#xml-external-entity-injection
Convert a XML string to a PHP array recursively. Do not call this function directly, Please use Convert::xml2array()
Simple conversion of HTML to plaintext.
There are no real specifications on correctly encoding mailto-links, but this seems to be compatible with most of the user-agents.
Convert a string (normally a title) to a string suitable for using in urls and other html attributes. Uses URLSegmentFilter.
Normalises newline sequences to conform to (an) OS specific format.
Encode a value into a string that can be used as part of a filename.
Decode a value that was encoded with Convert::base64url_encode.
Converts upper camel case names to lower camel case, with leading upper case characters replaced with lower case.
Turn a memory string, such as 512M into an actual number of bytes.
Convert slashes in relative or absolute filesystem path. Defaults to DIRECTORY_SEPARATOR
Details
static array|string
raw2att(array|string $val)
Convert a value to be suitable for an XML attribute.
Warning: Does not escape array keys
static array|string
raw2htmlatt(string|array $val)
Convert a value to be suitable for an HTML attribute.
Warning: Does not escape array keys
static array|string
raw2htmlname(array|string $val)
Convert a value to be suitable for an HTML ID attribute. Replaces non supported characters with a space.
Warning: Does not escape array keys
static array|string
raw2htmlid(array|string $val)
Convert a value to be suitable for an HTML ID attribute. Replaces non supported characters with an underscore.
Warning: Does not escape array keys
static array|string
raw2xml(array|string $val)
Ensure that text is properly escaped for XML.
Warning: Does not escape array keys
static array|string
raw2js(array|string $val)
Ensure that text is properly escaped for Javascript.
Warning: Does not escape array keys
static string
raw2json(mixed $val, int $options = 0)
deprecated
deprecated
Encode a value as a JSON encoded string. You can optionally pass a bitmask of JSON constants as options through to the encode function.
static string
array2json(array $val, int $options = 0)
deprecated
deprecated
Encode an array as a JSON encoded string.
static string|array
raw2sql(mixed|array $val, bool $quoted = false)
Safely encodes a value (or list of values) using the current database's safe string encoding method
Warning: Does not encode array keys
static string
symbol2sql(string|array $identifier, string $separator = '.')
Safely encodes a SQL symbolic identifier (or list of identifiers), such as a database, table, or column name. Supports encoding of multi identfiers separated by a delimiter (e.g. ".")
static array|string
xml2raw(mixed $val)
Convert XML to raw text.
Warning: Does not decode array keys
static object|bool
json2obj(string $val)
deprecated
deprecated
Convert a JSON encoded string into an object.
static array|bool
json2array(string $val)
deprecated
deprecated
Convert a JSON string into an array.
static array
xml2array(string $val, bool $disableDoctypes = false, bool $disableExternals = false)
deprecated
deprecated
Converts an XML string to a PHP array See http://phpsecurity.readthedocs.org/en/latest/Injection-Attacks.html#xml-external-entity-injection
static protected mixed
recursiveXMLToArray(SimpleXMLElement $xml)
deprecated
deprecated
Convert a XML string to a PHP array recursively. Do not call this function directly, Please use Convert::xml2array()
static string
linkIfMatch(string $string)
Create a link if the string is a valid URL
static string
html2raw(string $data, bool $preserveLinks = false, int $wordWrap = 0, array $config = null)
Simple conversion of HTML to plaintext.
static string
raw2mailto($data)
There are no real specifications on correctly encoding mailto-links, but this seems to be compatible with most of the user-agents.
Does nearly the same as rawurlencode(). Please only encode the values, not the whole url, e.g. "mailto:[email protected]?subject=" . Convert::raw2mailto($subject)
static string
raw2url(string $title)
Convert a string (normally a title) to a string suitable for using in urls and other html attributes. Uses URLSegmentFilter.
static string
nl2os(string $data, string $nl = PHP_EOL)
Normalises newline sequences to conform to (an) OS specific format.
static string
base64url_encode(mixed $val)
Encode a value into a string that can be used as part of a filename.
All string data must be UTF-8 encoded.
static mixed
base64url_decode(string $val)
Decode a value that was encoded with Convert::base64url_encode.
static string
upperCamelToLowerCamel($str)
Converts upper camel case names to lower camel case, with leading upper case characters replaced with lower case.
Tries to retain word case.
Examples:
- ID => id
- IDField => idField
- iDField => iDField
static int
memstring2bytes(string $memString)
Turn a memory string, such as 512M into an actual number of bytes.
Preserves integer values like "1024" or "-1"
static string
bytes2memstring(float $bytes, int $decimal = 0)
No description
static string
slashes(string $path, string $separator = DIRECTORY_SEPARATOR, bool $multiple = true)
Convert slashes in relative or absolute filesystem path. Defaults to DIRECTORY_SEPARATOR