Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: неполучается с mbstring (гостевая)
 
 автор: EXP   (01.10.2007 в 04:08)   письмо автору
 
 

задача была написать гостевую что-бы со всего что только может читать html
можно было её юзать, значит utf-8 и минимальная ширина страниц.
iconv как-то не того использовать , может на другом языке напишет кто-нибудь :)
так везде почти можно обойти, дизайн только портится )))

здесь писали такую функцию что-бы разрезать длинные слова
<?
function split_text($matches)  

  return 
wordwrap($matches[1], 16" "1); 
}

$msg preg_replace_callback("#(\w{16,}|\W{16,})#iu""split_text"$msg); // изменял только

/* С utf8 некоторые режет по 8 , некоторые по 16 
с mbstring получается наверное что-то такое : */

$msg mb_eregi_replace("([^\s]{16})"'\\1 '$msg);  

если ввожу длинную строку гггггггггггггггг режет нормально , если начиная со слеша /гггггггг ,
режет буквы на две части .
как такое обходить ? должен-же быть способ порезать любую последовательность символов , что-бы не покидало экран телефона :)
прикрепил наброски тут, хотелось-бы ещё знать там есть какие-нибудь дыры , может будет у кого-нибудь желание посмотреть

   
 
 автор: EXP   (01.10.2007 в 04:12)   письмо автору
 
   для: EXP   (01.10.2007 в 04:08)
 

Вообще непонятно что там за последний параметр в этих mbstring-функциях ю
Вот сам файл оттуда

   
 
 автор: EXP   (01.10.2007 в 17:07)   письмо автору
 
   для: EXP   (01.10.2007 в 04:12)
 

Там оказывается ещё лишнее ' ; ' приписал нечаяно в конце 81й строки index.php

разобрался кажется

насчёт этого рег.выражения ещё можно оказывается сделать так

<?
$msg 
mb_eregi_replace("([a-zA-Z_]{8}|[а-яА-ЯёЁ_]{16}|\W{8})"'\\1 '$msg); 

//но это  

print $dan mb_substr('лллллллллллллллллллллллллл'015); 

один раз даже вывело ёёёёёёёёёёёёёёёёёёёёё :)

работает нормально только в таком виде , в скрипте работает так-же как substr(),
возможно видимость чего-то из функции нужна , только вот чего

// хотя нет , mb_eregi_replace()-же не в функции ) наверное нужен этот ещё один параметр.
пойду его искать :)
а так корявенький ещё конечно скрипт , неплохо было-бы увидеть какую-нибудь критику , если кто-нибудь заглядывал в него

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования