За последние 24 часа нас посетили 17775 программистов и 1625 роботов. Сейчас ищут 1277 программистов ...

Убейте \r\n

Тема в разделе "Вопросы от блондинок", создана пользователем siiXth, 4 авг 2011.

  1. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    шозапечаль
    file_put_contents , пихаю строки в тхт
    дальше file_get_contents, explode по \r\n и он не разрывается
    я его сейчас убью пилять
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    блин
    разбил по \n
    какого места оно не \r\n ?
     
  3. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    siiXth
    давно бы уже следовало бы знать, что у винды, никсов и мака различается последовательность символов, обозначающих перевод строки в файле. не следует рассчитывать на то, что везде будет одно и то же
     
  4. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    та уже догадался =D
    привык писать под виндой , а пихая напрямую на хост думал что-нибудь разобью =D
     
  5. krow7

    krow7 Активный пользователь

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    а не проще использовать file() ? вернет массив из строк.
     
  6. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    siiXth
    используй константу PHP_EOL
     
  7. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    а в конце каждой строки будет этот символ переноса, который часто мешается...
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В винде - \r\n. Если ты разбиваешь виндовый файл по \n, символ \r остется в строке. Поэтому надо еще делать trim()
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно прогнать реплейс рн на н, потом р на н, потом разбить по н =)
    гарантия 100%, ресурсоемкость на высоте ;)
     
  10. krow7

    krow7 Активный пользователь

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    развели, блин, целую конференцию на ровном месте :D
     
  11. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Ensiferum +1

    PHP_EOL и ниипет
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    tommyangelo
    не согласен. еол актуален при записи файлов для ЭТОЙ платформы =)
     
  13. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    igordata

    А, ну если у топикстартера файл невозможно угадать откуда, то да.
     
  14. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    а не надо гадать. один раз написал функцию-хелпер и пусть она работает везде, хоть на тестовом WAMP, хоть на боевом LAMP, хоть на макинтоше. igordata правильное описание дал.