[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разбить строку на массив
Ser18
Подскажите пожалуйста, как можно разбить строку на массив

Например есть строка

$string = 'жук';


Должно получиться

$arr[0] = 'ж';
$arr[1] = 'у';
$arr[2] = 'к';


Функция str_split возвращает

$arr[0] = '�';
$arr[1] = '�';
$arr[2] = 'у';
$arr[3] = 'к';

Больше я не нашел функций

Как можно решить эту проблему?

Может есть что то вроде mb_strlen():



Спустя 16 минут, 33 секунды (9.11.2011 - 20:36) dadli написал(а):
$string = 'жук';


$length = mb_strlen($string,"utf-8");

$i = 0;
$mas = array();
while ($i < $length) {
$rep = mb_substr($string,$i,1,"utf-8");
array_splice($mas,$i,1,$rep);
$i = $i + 1;
}


echo "<pre>";
var_dump($mas);
echo "</pre>";

Спустя 5 минут, 26 секунд (9.11.2011 - 20:42) Ser18 написал(а):
Я думал функция есть

Спасибо

Спустя 7 минут, 50 секунд (9.11.2011 - 20:49) twin написал(а):
Цитата (Ser18 @ 9.11.2011 - 17:42)
Я думал функция есть

Спасибо

Вот две:
function mb_str_split($str)
{
$str = iconv('utf-8', 'windows-1251', $str);
$arr = str_split($str);
return array_map(create_function('$v', 'return iconv("windows-1251", "utf-8", $v);'), $arr);
}
/*
function mb_str_split($str, $encoding = 'utf-8')
{
$cnt = mb_strlen($str, $encoding);
$arr = array();
$i = 0;
while($cnt > $i)
$arr[] = mb_substr($str, $i++, 1, $encoding);
return $arr;
}
*/

$str = 'жук';
$arr = mb_str_split($str);
:)

Спустя 4 минуты, 24 секунды (9.11.2011 - 20:54) Ser18 написал(а):
Цитата (twin @ 9.11.2011 - 20:49)
Цитата (Ser18 @ 9.11.2011 - 17:42)
Я думал функция есть

Спасибо

Вот две:
function mb_str_split($str)
{
$str = iconv('utf-8', 'windows-1251', $str);
$arr = str_split($str);
return array_map(create_function('$v', 'return iconv("windows-1251", "utf-8", $v);'), $arr);
}
/*
function mb_str_split($str, $encoding = 'utf-8')
{
$cnt = mb_strlen($str, $encoding);
$arr = array();
$i = 0;
while($cnt > $i)
$arr[] = mb_substr($str, $i++, 1, $encoding);
return $arr;
}
*/

$str = 'жук';
$arr = mb_str_split($str);
:)

)))

Спасибо

Спустя 2 часа, 3 минуты, 24 секунды (9.11.2011 - 22:57) Winston написал(а):
:blink: Офигеть ! :blink: Вы знаете толк в извращениях :D
Вот как

function my_split($str)
{
return preg_split("##u", $str, null, PREG_SPLIT_NO_EMPTY);
}

$str = 'жук';
print_r(my_split($str));
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.