Перейти к публикации

Кодировка в DLE


Рекомендованные сообщения

Как я понимаю, с 13.0 осуществлен полный переход на utf-8 без каких либо других вариантов?

Но в коде DLE везде присутствует бесполезный легаси код. Который, как бы и не мешает, но смысла копить этот код нет (параметр charset).

К примеру:

function dle_strlen($value, $charset ) {

	if( function_exists( 'mb_strlen' ) ) {
		return mb_strlen( $value, $charset );
	} elseif( function_exists( 'iconv_strlen' ) ) {
		return iconv_strlen($value, $charset);
	}

	return strlen($value);
}

function dle_substr($str, $start, $length, $charset ) {

	if( function_exists( 'mb_substr' ) ) {
		return mb_substr( $str, $start, $length, $charset );
	
	} elseif( function_exists( 'iconv_substr' ) ) {
		return iconv_substr($str, $start, $length, $charset);
	}

	return substr($str, $start, $length);

}

function dle_strrpos($str, $needle, $charset ) {

	if( function_exists( 'mb_strrpos' ) ) {
		return mb_strrpos( $str, $needle, null, $charset );
	
	} elseif( function_exists( 'iconv_strrpos' ) ) {
		return iconv_strrpos($str, $needle, $charset);
	}

	return strrpos($str, $needle);

}

function dle_strpos($str, $needle, $charset ) {

	if( function_exists( 'mb_strpos' ) ) {
		return mb_strpos( $str, $needle, null, $charset );
	} elseif( function_exists( 'iconv_strrpos' ) ) {
		return iconv_strpos($str, $needle, null, $charset);
	}

	return strpos($str, $needle);

}

 

Может я не прав, конечно.

Изменено пользователем webair
Ссылка на сообщение
Поделиться на других сайтах

Это раздел приема багов. Баг в чем? Ничего бесполезного в этом коде нет. Универсальный код, работающий с любой кодировкой не значит бесполезный. Сохранен он ради совместимости с кодом написанным под ранние версии, например для сторонних модулей чтобы они работали с минимальными изменениями при необходимости или вообще без изменений.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...