Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Разбиение текста на строки UTF-8
Форумы портала PHP.SU » PHP » Программирование на PHP » Разбиение текста на строки UTF-8

Страниц (1): [1]
 

1. mavsan - 18 Января, 2010 - 11:35:22 - перейти к сообщению
Всегда программировал под win1251 и не было проблем, теперь работаю с UTF-8 и вот с чем столкнулся.

Есть вот такой вот код HTML

CODE (html):
скопировать код в буфер обмена
  1. <textarea name="mf_desc" rows="15" cols="40">{mf_desc}</textarea>


При работе с win1251 делал просто:

PHP:
скопировать код в буфер обмена
  1. $s = preg_split("/[\r\n]+/", $data['parce_data'])


И текст разбивался на строки без проблем. А вот при работе с UTF8 такой номер не проходит. Как обойти? И как мне добавить символы перевода строки при выводе данных в файл в UTF8? Если писать в конце строки



То нифига строка не разбиватеся, просто в этом месте появляется слэш и n, а весть текст в одной строке.

Блин уже сломал весь гугл, главу и голову помогите плз Улыбка
2. EuGen - 18 Января, 2010 - 11:41:28 - перейти к сообщению
Указывайте модификитор для работы c mullibyte:
/pattern/u
3. Мелкий - 18 Января, 2010 - 11:48:11 - перейти к сообщению
mavsan пишет:
То нифига строка не разбиватеся, просто в этом месте появляется слэш и n, а весть текст в одной строке.

Замечу, что в одинарный кавычках ('\n') - это и будут 2 символа слэш и n.
А подстановка перевода строки сработает в двойных кавычках "\n".

и почему вы написали прямой слэш "/", когда нужен обратный "\"?
4. mavsan - 18 Января, 2010 - 11:51:42 - перейти к сообщению
Мелкий пишет:
mavsan пишет:
То нифига строка не разбиватеся, просто в этом месте появляется слэш и n, а весть текст в одной строке.

Замечу, что в одинарный кавычках ('\n') - это и будут 2 символа слэш и n.
А подстановка перевода строки сработает в двойных кавычках "\n".

и почему вы написали прямой слэш "/", когда нужен обратный "\"?


Просто быстро набирал и не проверил.
В скриптах правильно пишу, а то не работало бы Улыбка
(Добавление)
Все, спасибо, помогло.
5. JustUserR - 18 Января, 2010 - 13:30:53 - перейти к сообщению
mavsan пишет:
При работе с win1251 делал просто
Хоть я и большой любитель регулярных выражений - но не проще в данном случае было разбивать через explode Улыбка Да и наверное хваленая поддержка юникода в PHP сама должна определить что это юникод и разбивать сразу как надо Улыбка

 

Powered by ExBB FM 1.0 RC1