function mb_substr()

в очередной раз наткнулся на то, что эта функция отсутствует в LS. точнее отсутствует замена для неё…
написал вот что:

/**
 * Если не стоит расширения mb
 *
 * @param unknown_type $s
 * @return unknown
 */
if (!function_exists('mb_substr')) {
	function mb_substr($str, $start, $length=null, $sEncode="UTF-8") {		
		$srt= ($length)?substr(iconv($sEncode, 'Windows-1251', $str), $start, $length):substr(iconv($sEncode, 'Windows-1251', $str), $start);
      	return $srt;
	}
}

не знаю какое значение присвоить параметру $length(по умолчанию) чтоб сделать текст более коротким…
в общем если кто знает подскажите. может и в сборку добавят =)

11 комментариев

avatar
а куда этот код вставить? не разобрался.
  • toxx
  • 0
avatar
include/function.php
avatar
Надеюсь, в сборку это добавляь не станут. Потому что не костылем нужно это подпирать, а ставить нормальное расширение mbstring.
avatar
Эх, вот бы перевести LS на cp1251…
avatar
и вообще под ие4 все адаптировать…
avatar
о! тонкий английский юмор… прикольно. ))
avatar
странное предложение, тут все стараются движки перетягивать на UTF8, а вы на cp1251…
avatar
а мне utf-8 не нужен. движки перетягивают, что бы распространение увеличить. мне не нужны преимущества этой мудрой кодировки под русскоязычный проект. можно даже сказать, что они несколько мешают.

собственно мне не интересно мнение, utf-манов и utf-филов. мой пост был в расчете на то, что кто-то производил перевод на другую кодировку для своих нужд. пока не посмотрел на количество сторонних библиотек в движке… ну хоть разработчики избавили от необходимости прикручивать mbstring и то хорошо. ;)
avatar
Реально ответ по существу вопроса. Но перевод кодировки вы наврядли найдете.
avatar
Это не просто «мнение utf-манов и utf-филов». Баталии «utf-8 vs cp1251» давно уже завершены, все остались при своем, но подавляющее число новых разработок делается под utf, так что это стало стандартом «де факто». Следовательно, тебя интересует «нестандартное» решение.
avatar
ну не знаю… где в моих словах видно, что я превозношу одну кодировку и опускаю другую? кодировка — характеристика. кому-то нужны такие характеристики, кому-то другие. а почему utf-8 больше распространена я уже писал.

насчет
Следовательно, тебя интересует «нестандартное» решение.
не совсем понятно. приведу аналогию — железнодорожный транспорт. есть электровозы и тепловозы. электровозы распространены больше — можно сказать они стали стандартом «де факто». по никто не называет тепловозы нестандартным решением. )) поэтому мне кажется, что это таки мнение utf-манов и utf-филов. ;)

тащемта кодировка не проблема. поставил без mbstring, полет нормальный.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.