За последние 24 часа нас посетили 17724 программиста и 1724 робота. Сейчас ищет 931 программист ...

корректировка вводимых в форму данных

Тема в разделе "Прочие вопросы по PHP", создана пользователем dimalogin, 23 май 2007.

  1. dimalogin

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

    С нами с:
    24 фев 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Москва
    Здраствуйте, подскажите как сделать так, чтобы пользователь не мог испортить внешний вид журнала посещений вводя литерал затем перевод строки и так много раз:
    u
    u
    u
    u
    u
    u
    u
    К примеру есть функция wordwrap(), которая разбивает ДЛИННЫЕ СТРОКИ НА СТОЛБЦЫ, почему же нет, которая разбивает КОРОТКИЕ СТОЛБЦЫ НА СТРОКИ? И кстати, насчет большого количества переноса длинных строк:
    GGGGGGGGGGGGGGGGGG
    GGGGGGGGGGGGGGGGGG
    GGGGGGGGGGGGGGGGGG
    - есть ограничение по количеству введенных символов (у моего журнала посещений - 200). А вот если так вертикально ввести 200 символов - УЖАС! Задача должна ИМЕТЬ РЕШЕНИЕ!!!
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    лимитировать переносы строки
     
  3. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    dimalogin
    аватарку меняем, разрешены только личные фото... хотя, на аватарке ОСЛИК... можете оставить... =)

    теперь по теме:
    PHP:
    1.  
    2. <html>
    3.  
    4. <head>
    5.   <title></title>
    6. </head>
    7.  
    8. <body>
    9.  
    10.  
    11. <form name="" action="rn.php" method="post">
    12. <textarea name="str"></textarea>
    13. <input type="submit" value="Send">
    14. </form>
    15.  
    16.  
    17. <?php
    18. $limit = 10;
    19.  
    20. if(isset($_POST["str"]))
    21. {
    22.     $rn_num = substr_count($_POST["str"], "\r\n");
    23.  
    24.     if($rn_num >= $limit)
    25.     {
    26.         $output_str = str_replace("\r\n", NULL, $_POST["str"]);
    27.     }
    28.     else
    29.     {
    30.         $output_str = str_replace("\r\n", "<br>", $_POST["str"]);
    31.     }
    32. }
    33.  
    34. print($output_str);
    35.  
    36.  
    37. ?>
    38.  
    39. </body>
    40.  
    41. </html>
    дальше думайте сами
     
  4. dimalogin

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

    С нами с:
    24 фев 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Москва
    Спасибо идею понял, воспользуюсь =)))
     
  5. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    dimalogin
    а аватарку всё-таки смените
     
  6. dimalogin

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

    С нами с:
    24 фев 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Москва
    Немного добавил и получилось, что если вводить просто пустые строки они складываются в одну, а если переводов больше 8 - записываем через пробел - получилось СУПЕР!

    PHP:
    1. $limit = 8;
    2. .............
    3. if($rn_num >= $limit)
    4.     {
    5.     $message = str_replace("\r\n", " ", $message);
    6.     }
    7. $message = ereg_replace("[\r\n]+","<br />\n",$message);
    8. .................