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 {@link ViewableData} can have an "escaping type", which determines if they are automatically escaped before output by {@link 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 XML.
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.
Encode an array as a JSON encoded string.
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. ".")
Convert XML to raw text.
Convert a JSON encoded string into an object.
Convert a JSON string into an array.
Converts an XML string to a PHP array See http://phpsecurity.readthedocs.org/en/latest/Injection-Attacks.html#xml-external-entity-injection
Create a link if the string is a valid URL
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 {@link 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.
Details
static array|string
raw2att(array|string $val)
Convert a value to be suitable for an XML attribute.
static array|string
raw2htmlatt(string|array $val)
Convert a value to be suitable for an HTML attribute.
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.
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.
static array|string
raw2xml(array|string $val)
Ensure that text is properly escaped for XML.
static array|string
raw2js(array|string $val)
Ensure that text is properly escaped for Javascript.
static string
raw2json(mixed $val, int $options = 0)
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)
Encode an array as a JSON encoded string.
This is an alias to {@link raw2json()}
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
static string|array
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
xml2raw($val)
Convert XML to raw text.
static object|bool
json2obj(string $val)
Convert a JSON encoded string into an object.
static array|bool
json2array(string $val)
Convert a JSON string into an array.
static array
xml2array(string $val, bool $disableDoctypes = false, bool $disableExternals = false)
Converts an XML string to a PHP array See http://phpsecurity.readthedocs.org/en/latest/Injection-Attacks.html#xml-external-entity-injection
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($title)
Convert a string (normally a title) to a string suitable for using in urls and other html attributes. Uses {@link 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.