Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Не получили
письмо с кодом активации
?
1 час
1 день
1 неделя
1 месяц
Навсегда
Новости:
Начало
Помощь
Поиск
Календарь
Вход
Регистрация
Forum Webscript.Ru
»
Программирование
»
PHP
»
Разбиение длинных слов в сообщении
« предыдущая тема
следующая тема »
Печать
Страницы: [
1
]
Вниз
Автор
Тема: Разбиение длинных слов в сообщении (Прочитано 5638 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
Разбиение длинных слов в сообщении
«
:
21 Апреля 2002, 00:16:39 »
Я правльно понимаю, что если если мне надо разбивать в сообщении только те слова, длина которых больше заданной, то wordwrap тут не моможет?
С третьим ключем 1 он везде вставляет символ разбиения, а без не трогает длинные слова.
Можно что-то придумать попроще, чем
$words
=
explode
(\
' \',$comment);
for ($ii=0;$ii<count($words);$ii++)
{
if (strlen($words[$ii])>$max_lenght)
{$words[$ii] = wordwrap ($words[$ii], $max_lenght, \' \', 1);}
}
Записан
Макс
vir magni ingenii
Глобальный модератор
Ветеран
Сообщений: 3534
+0/-0
2
Разбиение длинных слов в сообщении
«
Ответ #1 :
21 Апреля 2002, 00:32:28 »
function break_long_words($source_text,$lng)
{
$regExp=\'/(\\S{\'.$lng.\',})/ei\';
$res_text=preg_replace($regExp,"wordwrap(\'\\\\1\',$lng,\'\\n\',1)",$source_text);
return $res_text;
}
Записан
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
Разбиение длинных слов в сообщении
«
Ответ #2 :
21 Апреля 2002, 00:37:33 »
ну это же реги.... это же медленне! Или нет?
Записан
Макс
vir magni ingenii
Глобальный модератор
Ветеран
Сообщений: 3534
+0/-0
2
Разбиение длинных слов в сообщении
«
Ответ #3 :
21 Апреля 2002, 01:16:44 »
Угу.
Раз в 5 - 20.
Кстати в worwrap есть баг.
Вот пример (взял с кода чата с php.spb.ru):
echo wordwrap("bbbbbbbb -bbbbbbbbb -bbbbbbbbbbb -bbbbbbbbbbb -bbbbbbbbb -bbbbbb -bbbbbb -bbbbbb -bbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", 20, " ", 1); ?>
PS
Вроде для тех же целей можно chunk_split() использовать, но я ее не использовал - пока не знаю.
Записан
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
Разбиение длинных слов в сообщении
«
Ответ #4 :
21 Апреля 2002, 01:20:04 »
Ага! Точно! Я на этот баг тоже наталкивался. Вроде в 4.2 исправили, но я не ставил, не знаю
Записан
Dm
Модератор
Глобальный модератор
Ветеран
Сообщений: 1263
+0/-0
0
Разбиение длинных слов в сообщении
«
Ответ #5 :
21 Апреля 2002, 01:51:28 »
<?
function
word_wrap
(
$s
,
$n
,
$br
) {
$len
=
strlen
(
$s
);
$i
=
$n
;
$m
=
substr
(
$s
,
0
,
$n
);
while(
$i
<
$len
) {
$m
.=
$br
.
substr
(
$s
,
$i
,
$n
);
$i
+=
$n
;
}
return
$m
;
}
?>
начиная с php4.1.1 этот баг исправлен
Записан
с уважением,
магистр белой магии.
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
Разбиение длинных слов в сообщении
«
Ответ #6 :
02 Июля 2002, 11:16:13 »
2Dm: то есть в 4.1.1 и выше wordwrap вставляет разделитель только в слова, длина которых больше заданной? Так?
Записан
Печать
Страницы: [
1
]
Вверх
« предыдущая тема
следующая тема »
Forum Webscript.Ru
»
Программирование
»
PHP
»
Разбиение длинных слов в сообщении
Sitemap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28