Collections functions
General functions
Node functions
Render functions
Theme permission functions
User functions
Resource functions

seems_utf8()

Description

Looks for particular patterns to attempt to determine if the provided string is in UTF8 format

Parameters

ColumnTypeDefaultDescription
$str string

Return

boolean True if it's possibly UTF8

Location

include/language_functions.php lines 512 to 542

Definition

 
function seems_utf8($str)
{
    
$length strlen($str);

    for (
$i 0$i $length$i++) {
        
$c ord($str[$i]);

        if (
$c 0x80) {
            
$n 0# 0bbbbbbb
        
} elseif (($c 0xE0) == 0xC0) {
            
$n 1# 110bbbbb
        
} elseif (($c 0xF0) == 0xE0) {
            
$n 2# 1110bbbb
        
} elseif (($c 0xF8) == 0xF0) {
            
$n 3# 11110bbb
        
} elseif (($c 0xFC) == 0xF8) {
            
$n 4# 111110bb
        
} elseif (($c 0xFE) == 0xFC) {
            
$n 5# 1111110b
        
} else {
            return 
false# Does not match any model
        
}

        for (
$j 0$j $n$j++) { # n bytes matching 10bbbbbb follow ?
            
if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) {
                return 
false;
            }
        }
    }
    return 
true;
}

This article was last updated 5th May 2024 17:35 Europe/London time based on the source file dated 3rd May 2024 14:45 Europe/London time.