API16

JString/compliant

From Joomla! Documentation

< API16:JString

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Tests whether a string complies as UTF-8. This will be much faster than utf8_is_valid but will pass five and six octet UTF-8 sequences, which are not supported by Unicode and so cannot be displayed correctly in a browser. In other words it is not as strict as utf8_is_valid but it's faster. If you use is to validate user input, you place yourself at the risk that attackers will be able to inject 5 and 6 byte sequences (which may or may not be a significant risk, depending on what you are are doing) valid http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php#54805




Syntax[edit]

static compliant($str)
Parameter Name Default Value Description
$str UTF-8 string to check

Returns[edit]

boolean TRUE if string is valid UTF-8

Defined in[edit]

libraries/joomla/utilities/string.php

Importing[edit]

jimport( 'joomla.utilities.string' );

Source Body[edit]

public static function compliant($str)
{
        if (strlen($str) == 0) {
                return TRUE;
        }
        // If even just the first character can be matched, when the /u
        // modifier is used, then it's valid UTF-8. If the UTF-8 is somehow
        // invalid, nothing at all will match, even if the string contains
        // some valid sequences
        return (preg_match('/^.{1}/us',$str,$ar) == 1);
}



Examples[edit]

Code Examples[edit]