JString
Extends \Joomla\String\StringHelperString handling class for utf-8 data Wraps the phputf8 library All functions assume the validity of utf-8 strings.
since |
1.7.0 |
---|---|
deprecated |
4.0 Use {@link \Joomla\String\StringHelper} instead unless otherwise noted. |
package |
Joomla.Platform |
Methods
compliant
Tests whether a string complies as UTF-8.
compliant(string $str) : boolean
This will be much faster than StringHelper::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 StringHelper::valid() but it's faster. If you use it 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).
see | \Joomla\String\StringHelper::valid |
---|---|
link |
https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php#54805 |
since |
1.3.0 |
Arguments
- $str
string
UTF-8 string to check
Response
boolean
TRUE if string is valid UTF-8
increment
Increments a trailing number in a string.
increment(string $string, string $style = 'default', integer $n) : string
Used to easily create distinct labels when copying objects. The method has the following styles:
default: "Label" becomes "Label (2)" dash: "Label" becomes "Label-2"
since |
1.3.0 |
---|
Arguments
- $string
string
The source string.- $style
string
The the style (default|dash).- $n
integer
If supplied, this number is used for the copy, otherwise it is the 'next' number.
Response
string
The incremented string.
is_ascii
Tests whether a string contains only 7bit ASCII bytes.
is_ascii(string $str) : boolean
You might use this to conditionally check whether a string needs handling as UTF-8 or not, potentially offering performance benefits by using the native PHP equivalent if it's just ASCII e.g.;
if (StringHelper::is_ascii($someString))
{
// It's just ASCII - use the native PHP version
$someString = strtolower($someString);
}
else
{
$someString = StringHelper::strtolower($someString);
}
since |
1.3.0 |
---|
Arguments
- $str
string
The string to test.
Response
boolean
True if the string is all ASCII
ltrim
UTF-8 aware replacement for ltrim()
ltrim(string $str, string $charlist = false) : string
Strip whitespace (or other characters) from the beginning of a string. You only need to use this if you are supplying the charlist optional arg and it contains UTF-8 characters. Otherwise ltrim will work normally on a UTF-8 string.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
The string to be trimmed- $charlist
string
The optional charlist of additional characters to trim
Response
string
The trimmed string
ord
UTF-8 aware alternative to ord()
ord(string $chr) : integer
Returns the unicode ordinal for a character.
link | |
---|---|
since |
1.4.0 |
Arguments
- $chr
string
UTF-8 encoded character
Response
integer
Unicode ordinal for the character
parse_url
Does a UTF-8 safe version of PHP parse_url function
parse_url(string $url) : mixed
link | |
---|---|
since |
1.7.0 |
deprecated |
4.0 (CMS) - Use {@link \Joomla\Uri\UriHelper::parse_url()} instead. |
Arguments
- $url
string
URL to parse
Response
mixed
Associative array or false if badly formed URL.
rtrim
UTF-8 aware replacement for rtrim()
rtrim(string $str, string $charlist = false) : string
Strip whitespace (or other characters) from the end of a string. You only need to use this if you are supplying the charlist optional arg and it contains UTF-8 characters. Otherwise rtrim will work normally on a UTF-8 string.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
The string to be trimmed- $charlist
string
The optional charlist of additional characters to trim
Response
string
The trimmed string
splitCamelCase
Split a string in camel case format
splitCamelCase(string $string) : array
"FooBarABCDef" becomes array("Foo", "Bar", "ABC", "Def"); "JFooBar" becomes array("J", "Foo", "Bar"); "J001FooBar002" becomes array("J001", "Foo", "Bar002"); "abcDef" becomes array("abc", "Def"); "abc_defGhi_Jkl" becomes array("abc_def", "Ghi_Jkl"); "ThisIsA_NASAAstronaut" becomes array("This", "Is", "A_NASA", "Astronaut")), "JohnFitzgerald_Kennedy" becomes array("John", "Fitzgerald_Kennedy")),
deprecated |
4.0 - Use JStringNormalise::fromCamelCase() |
---|---|
since |
1.7.3 |
Arguments
- $string
string
The source string.
Response
array
The splitted string.
str_ireplace
UTF-8 aware alternative to str_ireplace()
str_ireplace(string $search, string $replace, string $str, integer $count = null) : string
Case-insensitive version of str_replace()
link | |
---|---|
since |
1.3.0 |
Arguments
- $search
string
String to search- $replace
string
Existing string to replace- $str
string
New string to replace with- $count
integer
Optional count value to be passed by referene
Response
string
UTF-8 String
str_pad
UTF-8 aware alternative to str_pad()
str_pad(string $input, integer $length, string $padStr = ' ', integer $type = STR_PAD_RIGHT) : string
Pad a string to a certain length with another string. $padStr may contain multi-byte characters.
link | |
---|---|
since |
1.4.0 |
Arguments
- $input
string
The input string.- $length
integer
If the value is negative, less than, or equal to the length of the input string, no padding takes place.- $padStr
string
The string may be truncated if the number of padding characters can't be evenly divided by the string's length.- $type
integer
The type of padding to apply
Response
string
str_split
UTF-8 aware alternative to str_split()
str_split(string $str, integer $splitLen = 1) : array
Convert a string to an array.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
UTF-8 encoded string to process- $splitLen
integer
Number to characters to split string by
Response
array
strcasecmp
UTF-8/LOCALE aware alternative to strcasecmp()
strcasecmp(string $str1, string $str2, mixed $locale = false) : integer
A case insensitive string comparison.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str1
string
string 1 to compare- $str2
string
string 2 to compare- $locale
mixed
The locale used by strcoll or false to use classical comparison
Response
integer
< 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.
strcmp
UTF-8/LOCALE aware alternative to strcmp()
strcmp(string $str1, string $str2, mixed $locale = false) : integer
A case sensitive string comparison.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str1
string
string 1 to compare- $str2
string
string 2 to compare- $locale
mixed
The locale used by strcoll or false to use classical comparison
Response
integer
< 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.
strcspn
UTF-8 aware alternative to strcspn()
strcspn(string $str, string $mask, integer $start = null, integer $length = null) : integer
Find length of initial segment not matching mask.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
The string to process- $mask
string
The mask- $start
integer
Optional starting character position (in characters)- $length
integer
Optional length
Response
integer
The length of the initial segment of str1 which does not contain any of the characters in str2
stristr
UTF-8 aware alternative to stristr()
stristr(string $str, string $search) : string
Returns all of haystack from the first occurrence of needle to the end. Needle and haystack are examined in a case-insensitive manner to find the first occurrence of a string using case insensitive comparison.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
The haystack- $search
string
The needle
Response
string
the sub string
strlen
UTF-8 aware alternative to strlen()
strlen(string $str) : integer
Returns the number of characters in the string (NOT THE NUMBER OF BYTES).
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
UTF-8 string.
Response
integer
Number of UTF-8 characters in string.
strpos
UTF-8 aware alternative to strpos()
strpos(string $str, string $search, integer $offset = false) : integer|boolean
Find position of first occurrence of a string.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String being examined- $search
string
String being searched for- $offset
integer
Optional, specifies the position from which the search should be performed
Response
integer|boolean
Number of characters before the first match or FALSE on failure
strrev
UTF-8 aware alternative to strrev()
strrev(string $str) : string
Reverse a string.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String to be reversed
Response
string
The string in reverse character order
strrpos
UTF-8 aware alternative to strrpos()
strrpos(string $str, string $search, integer $offset) : integer|boolean
Finds position of last occurrence of a string.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String being examined.- $search
string
String being searched for.- $offset
integer
Offset from the left of the string.
Response
integer|boolean
Number of characters before the last match or false on failure
strspn
UTF-8 aware alternative to strspn()
strspn(string $str, string $mask, integer $start = null, integer $length = null) : integer
Find length of initial segment matching mask.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
The haystack- $mask
string
The mask- $start
integer
Start optional- $length
integer
Length optional
Response
integer
strtolower
UTF-8 aware alternative to strtolower()
strtolower(string $str) : string|boolean
Make a string lowercase
Note: The concept of a characters "case" only exists is some alphabets such as Latin, Greek, Cyrillic, Armenian and archaic Georgian - it does not exist in the Chinese alphabet, for example. See Unicode Standard Annex #21: Case Mappings
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String being processed
Response
string|boolean
Either string in lowercase or FALSE is UTF-8 invalid
strtoupper
UTF-8 aware alternative to strtoupper()
strtoupper(string $str) : string|boolean
Make a string uppercase
Note: The concept of a characters "case" only exists is some alphabets such as Latin, Greek, Cyrillic, Armenian and archaic Georgian - it does not exist in the Chinese alphabet, for example. See Unicode Standard Annex #21: Case Mappings
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String being processed
Response
string|boolean
Either string in uppercase or FALSE is UTF-8 invalid
substr
UTF-8 aware alternative to substr()
substr(string $str, integer $offset, integer $length = false) : string|boolean
Return part of a string given character offset (and optionally length).
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String being processed- $offset
integer
Number of UTF-8 characters offset (from left)- $length
integer
Optional length in UTF-8 characters from offset
Response
string|boolean
substr_replace
UTF-8 aware alternative to substr_replace()
substr_replace(string $str, string $repl, integer $start, integer $length = null) : string
Replace text within a portion of a string.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
The haystack- $repl
string
The replacement string- $start
integer
Start- $length
integer
Length (optional)
Response
string
transcode
Transcode a string.
transcode(string $source, string $fromEncoding, string $toEncoding) : mixed
link | |
---|---|
since |
1.3.0 |
Arguments
- $source
string
The string to transcode.- $fromEncoding
string
The source encoding.- $toEncoding
string
The target encoding.
Response
mixed
The transcoded string, or null if the source was not a string.
trim
UTF-8 aware replacement for trim()
trim(string $str, string $charlist = false) : string
Strip whitespace (or other characters) from the beginning and end of a string. You only need to use this if you are supplying the charlist optional arg and it contains UTF-8 characters. Otherwise trim will work normally on a UTF-8 string
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
The string to be trimmed- $charlist
string
The optional charlist of additional characters to trim
Response
string
The trimmed string
ucfirst
UTF-8 aware alternative to ucfirst()
ucfirst(string $str, string $delimiter = null, string $newDelimiter = null) : string
Make a string's first character uppercase or all words' first character uppercase.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String to be processed- $delimiter
string
The words delimiter (null means do not split the string)- $newDelimiter
string
The new words delimiter (null means equal to $delimiter)
Response
string
If $delimiter is null, return the string with first character as upper case (if applicable)
else consider the string of words separated by the delimiter, apply the ucfirst to each words
and return the string with the new delimiter
ucwords
UTF-8 aware alternative to ucwords()
ucwords(string $str) : string
Uppercase the first character of each word in a string.
link | |
---|---|
since |
1.3.0 |
Arguments
- $str
string
String to be processed
Response
string
String with first char of each word uppercase
unicode_to_utf16
Converts Unicode sequences to UTF-16 string.
unicode_to_utf16(string $str) : string
since |
1.3.0 |
---|
Arguments
- $str
string
Unicode string to convert
Response
string
UTF-16 string
unicode_to_utf8
Converts Unicode sequences to UTF-8 string.
unicode_to_utf8(string $str) : string
since |
1.3.0 |
---|
Arguments
- $str
string
Unicode string to convert
Response
string
UTF-8 string
valid
Tests a string as to whether it's valid UTF-8 and supported by the Unicode standard.
valid(string $str) : boolean
Note: this function has been modified to simple return true or false.
author | |
---|---|
link | |
see | \Joomla\String\compliant |
since |
1.3.0 |
Arguments
- $str
string
UTF-8 encoded string.
Response
boolean
true if valid
Properties
incrementStyles
Increment styles.
since |
1.3.0 |
---|
Type(s)
array