37 lines
954 B
PHP
37 lines
954 B
PHP
|
<?php
|
||
|
/*
|
||
|
* @package AJAX_Chat
|
||
|
* @author Sebastian Tschan
|
||
|
* @copyright (c) Sebastian Tschan
|
||
|
* @license GNU Affero General Public License
|
||
|
* @link https://blueimp.net/ajax/
|
||
|
*/
|
||
|
|
||
|
// Class to provide multibyte enabled string methods
|
||
|
class AJAXChatString {
|
||
|
|
||
|
public static function subString($str, $start=0, $length=null, $encoding='UTF-8') {
|
||
|
if($length === null) {
|
||
|
$length = AJAXChatString::stringLength($str);
|
||
|
}
|
||
|
if(function_exists('mb_substr')) {
|
||
|
return mb_substr($str, $start, $length, $encoding);
|
||
|
} else if(function_exists('iconv_substr')) {
|
||
|
return iconv_substr($str, $start, $length, $encoding);
|
||
|
} else {
|
||
|
return substr($str, $start, $length);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static function stringLength($str, $encoding='UTF-8') {
|
||
|
if(function_exists('mb_strlen')) {
|
||
|
return mb_strlen($str, $encoding);
|
||
|
} else if(function_exists('iconv_strlen')) {
|
||
|
return iconv_strlen($str, $encoding);
|
||
|
} else {
|
||
|
return strlen($str);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
?>
|