вопрос в следущем:
в этой теме
встретил такую функцию:
function mbWordwrap($str, $width = 3, $break = "<br/>", $cut = true)
{
return preg_replace('#([\S\s]{'. $width .'}'. ($cut ? '' : '\s') .')#u', '$1'. $break , $str);
}
смутно догадываюсь что тут что то связанное с регуляркой, но опыта работы с ней пока нет. немогли бы добрые форумчане поподробней объяснить данную строчку или поделиться ссылочкой где мог бы сам ознакомиться (желательно чтоб там было так же просто и понятно как у вас тут).
а еще хотелось бы узнать: можно ли использовать строковые функции применительно к кирилице в кодировке UTF-8, например можно ли решить проблему настройками в PHP/Apache?
Спустя 8 минут, 48 секунд (4.02.2011 - 20:46) Invis1ble написал(а):
zezst
ЧИТАЙ
ЧИТАЙ
Спустя 8 минут, 42 секунды (4.02.2011 - 20:54) zezst написал(а):
о
за ссылку спасибо огромное!
но вопрос все еще остался
можно ли обойтись без регулярки? и при этом пользоваться UTF-8
за ссылку спасибо огромное!
но вопрос все еще остался
можно ли обойтись без регулярки? и при этом пользоваться UTF-8
Спустя 4 минуты, 59 секунд (4.02.2011 - 20:59) Invis1ble написал(а):
Цитата |
можно ли обойтись без регулярки? и при этом пользоваться UTF-8 |
обойтись в чем? какая задача именно?
Спустя 1 минута, 18 секунд (4.02.2011 - 21:01) Invis1ble написал(а):
кстати та регулярка в функции итак работает с юникодом (модификатор u)
Спустя 21 минута, 21 секунда (4.02.2011 - 21:22) zezst написал(а):
ну к примеру:
строковая функция str_split(), разбивает строку на четыре байта а не символа и закидывает все это в массив. пока работаем с латиницей проблем никаких, как только касаемся кирилицы начинаеться свистопляска. в функции в начале темы сделан обходной маневр для функции wordwrap(). просто хотел узнать, есть ли возможность использовать встроенные функции PHP, а не использовать костыли. если такой возможности нет в принципе, то вопрос снят. и извините за тупые вопросы (я только учусь). если это можно как то обойти настройками сервера, то может кто подскажет где копать.
$string = "тут слова какие-то";
$string1 = str_split($string, 4);
foreach($string1 as $key)
{
echo "$key I</br>";
}
строковая функция str_split(), разбивает строку на четыре байта а не символа и закидывает все это в массив. пока работаем с латиницей проблем никаких, как только касаемся кирилицы начинаеться свистопляска. в функции в начале темы сделан обходной маневр для функции wordwrap(). просто хотел узнать, есть ли возможность использовать встроенные функции PHP, а не использовать костыли. если такой возможности нет в принципе, то вопрос снят. и извините за тупые вопросы (я только учусь). если это можно как то обойти настройками сервера, то может кто подскажет где копать.
Спустя 24 минуты, 5 секунд (4.02.2011 - 21:46) Invis1ble написал(а):
если у функции func() есть аналог mb_func(), то костыли юзать конечно не стоит, а если аналога не существует среди штатных функций, то тут уже ничего не поделаешь....
Спустя 8 минут, 54 секунды (4.02.2011 - 21:55) zezst написал(а):
СПАСИБО еще раз. Вот теперь тема раскрыта полностью.
Ушол составлять список необходимых костылей
.
Ушол составлять список необходимых костылей

Спустя 7 минут, 37 секунд (4.02.2011 - 22:02) twin написал(а):
Многие строковые функции есть в библиотеке mb
Вот для начала.
Но mb_str_split() как и mb_wordwrap() нету. Придется лепить костыль.
Вот из мануала
Вот для начала.
Но mb_str_split() как и mb_wordwrap() нету. Придется лепить костыль.
Вот из мануала
function uni_strsplit($string, $split_length=1)
{
preg_match_all('`.`u', $string, $arr);
$arr = array_chunk($arr[0], $split_length);
$arr = array_map('implode', $arr);
return $arr;
}
Спустя 53 секунды (4.02.2011 - 22:03) twin написал(а):
Лучше поздно, чем никогда, сказал еврей, положа голову на рельсы и грустно глядя вслед уходящему поезду.

Спустя 4 минуты, 23 секунды (4.02.2011 - 22:08) zezst написал(а):
И вам twin тоже большое спасибо!