За последние 24 часа нас посетили 49197 программистов и 3132 робота. Сейчас ищут 1224 программиста ...

TRIM - как не вырезать возврат каретки \r ?

Тема в разделе "PHP для новичков", создана пользователем Ambrella, 22 июл 2008.

  1. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Доброго дня всем! Подскажите кто знает как сказать функции "trim" делать все что она умеет, тоесть очищать строку от лишних символов но не выерзать перенос строки (абзац) - \r
     
  2. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
  3. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Я это и сам видел! Как это применить?
     
  4. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    А что вызывает затруднение?
     
  5. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Ambrella
    Может достаточно str_replace("\r\n",' ',$string);?
     
  6. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    [vs]
    Мне нужно наоборот использовать все функции Trim - а переносы строки не уберать

    MiksIr
    Внимание вопрос!

    Как провести все удаления которые делает Trim
    1) " " (ASCII 32 (0x20)), символ пробела.
    2) "\t" (ASCII 9 (0x09)), символ табуляции.
    3) "\n" (ASCII 10 (0x0A)), символ перевода строки.
    4) "\r" (ASCII 13 (0x0D)), символ возврата каретки.
    5) "\0" (ASCII 0 (0x00)), NUL-байт.
    6) "\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

    БЕЗ 3 и 4 замены!?
     
  7. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
  8. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    а нафига в начале и в конце строки сохранять перевод каретки?
     
  9. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Как все запущенно!
    Это TEXTAREA в фаирфоксе не передает переносы оказывапется!
    а подстановка wrap=soft и wrap=physical не помогает, кто то сталкивался с таким?
    Очень нужны переносы в тексте...
     
  10. Johnatan

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

    С нами с:
    6 мар 2008
    Сообщения:
    508
    Симпатии:
    0
    Адрес:
    Испания
    /me сжалился над человеком.

    Ambrella
    просто перечисли триму ВСЁ что НУЖНО вырезать.
    PHP:
    1. <?php
    2. trim($string,"\x00\x20\x09\x0B");
    3. ?>
     
  11. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Спасибо я это уже допер :)

    И вот воттак можно, может кому пригодится...

    PHP:
    1. $protect = array(
    2.     "<" => "&lt;",
    3.     ">" => "&gt;",
    4.     "&" => "&amp;",
    5.     "\"" => "&quot;",
    6.     "'" => "'",
    7.     "\n" => " ",
    8.     "\t" => " ",
    9.     "\r" => " ",
    10.     "\0" => " ",
    11.     "\x0B" => "",
    12.     " " => ""
    13. );
    14.  
    15. $fullname = strtr($fullname, $protect);
    С TEXTAREA что делать кто то знает?
     
  12. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    А что с ним делать? textarea везде себя ведёт одинаково.
     
  13. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Все, разобрался - спасибо всем!