За последние 24 часа нас посетили 202107 программистов и 2180 роботов. Сейчас ищут 1509 программистов ...

новый абзац в textarea

Тема в разделе "PHP для новичков", создана пользователем serj011, 5 дек 2010.

  1. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    может быть кто знает, подскажите пожалуйста....

    как рализовать, что бы в поле textarea при нажатии на enter текст начинался с нового абзаца (с отступом), примерно как при использованииредактора tinymce, но без него....



    или как допустим на этом форуме????
     
  2. ridraider

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

    С нами с:
    23 окт 2010
    Сообщения:
    65
    Симпатии:
    0
  3. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    а можно поподробнее?:)
     
  4. rainarr

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

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    могу тебе дать слово пацана но в скрипте tinymce и тому подобных НЕиспользуется тег textarea вообще
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    с каким отступом?
     
  6. ridraider

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

    С нами с:
    23 окт 2010
    Сообщения:
    65
    Симпатии:
    0
    rainarr даешь 100%?
     
  7. Ensiferum

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

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    rainarr
    Чувак, а ты загляни в скрипт-то )
     
  8. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    Может быть я не правильно сформулировал вопрос!?!?!?!

    я имел ввиду следующее, если писать текст в обычном текстовом поле, то не важно сколько ты раз нажмешь на enter, в базу запишется текст в одну строчку, БЕЗ ПЕРЕНОСОВ! а как зделать что бы так было как на этом форуме допустим...

    я спустился на две строчки ниже, значит в базу после предыдущей счтрочки добавится <br><br>, а фактически в поле его нет...







    эта функция есть в скрипте tinymce, а как зделать без него????
     
  9. ridraider

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

    С нами с:
    23 окт 2010
    Сообщения:
    65
    Симпатии:
    0
  10. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0


    ridraider, на пальцах можешь объяснить?:) или хотя бы что нибудь на русском..
     
  11. Ensiferum

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

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    перед сохранением текста в БД или в файл пишешь
    Код (Text):
    1. $text = nl2br($text);
     
  12. ridraider

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

    С нами с:
    23 окт 2010
    Сообщения:
    65
    Симпатии:
    0
    В текстарее новую строку обозначает невидимый символ \n (Unix, Mac) и \r (Windows)
    nl2br заменяет их на <br>, так как \n\r не отображаются.
     
  13. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ничего не не заменяет =)
     
  14. ridraider

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

    С нами с:
    23 окт 2010
    Сообщения:
    65
    Симпатии:
    0
    Apple
    таки я не прав, 2 в названии функции заставило ошибиться.
     
  15. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    не получается, я добавил код в файл обработчик, перед занесение в базу
     
  16. Ensiferum

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

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    serj011
    Выложи код сюда
     
  17. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    а какой именно код?

    <textarea name="text" id="text" rows="11" cols="34"></textarea> это само поле... POSTом передается в обработчик, а там

    if (isset($_POST['text'])) { $text = $_POST['text'];}

    $text = nl2br($text); а далее заносим в базу
    $result2 = mysql_query ("INSERT INTO news (text) VALUES ('$text')");
     
  18. Ensiferum

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

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    Ну и чё в базе сохраняется?
     
  19. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    сохраняется текст как он был набран,
    (
    вапвап

    вапвап


    вапвапв
    )

    без <br>, а соответственно выводится одной строкой
     
  20. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    неужели никто толком не знает? вроде вопрос популярный должен быть...
     
  21. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    serj011
    Бред, делаем так:
    PHP:
    1. <?php
    2.  
    3. header('Content-type: text/plain');
    4.  
    5. if(isset($_POST['text']) && !empty($_POST['text'])) {
    6.     $text = mysql_real_escape_string(nl2br($_POST["text"]));
    7.    
    8.     // Dump
    9.     print_r($text);
    10.    
    11.     // Insert
    12.     mysql_query('INSERT INTO `news` (`text`) VALUES ("' . $text . '")');
    13. }
    14.  
    15. ?>
     
  22. serj011

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

    С нами с:
    18 апр 2010
    Сообщения:
    279
    Симпатии:
    0
    Apple, помоему точно бред:)
     
  23. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Что бред? То, что твоё мышление не в состоянии переработать информацию, которую тебе разжевало несколько человек?
    Ну тогда это уже твои проблемы, пускай другие мучаются с тобой.
     
  24. rainarr

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

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    да, насчет текстареи я поспешил, был у меня фиг знает откуда вырваный вйсивюг редактор , так там было только одно спрятаное input типа поле и ифрейм, и работал! :)

    я бы лучше nl2br() юзал только для вывода текста а не записывать это сразу, меньше гемора если например задумаешь сделать возможность правки текста.

    ну а теперь выведи его
    PHP:
    1. echo nl2br($текстизбд);
    чтоб наверняка, раз в базе по твоему не правильное сохраняет
     
  25. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Там вообще быть не может никакого "гемора".
    При добавлении nl2br, и после не вызывается никаких функций обработки текста. Редактированию предшествует вызов обычной str_replace, заменяющей теги break на переводы строк - PHP_EOL.
    Не вижу никакого геморроя.