За последние 24 часа нас посетили 15797 программистов и 1666 роботов. Сейчас ищет 871 программист ...

Textarea, чем обработать переменную

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

  1. allowance

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

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    Перед записью в БД обрабатываю-
    $about = mysql_real_escape_string($about);

    При выводе из БД в textarea добавляются \r\n , если убрать строчку $about = mysql_real_escape_string($about); , то всё ок.

    Чем тогда обрабатывать $about перед записей в БД?
     
  2. sDevAlex

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

    С нами с:
    28 окт 2010
    Сообщения:
    53
    Симпатии:
    0
    Вроде так не должно быть...попробуй выводить так...
    Код (Text):
    1. <textarea><?php echo strtr($about, array('\r\n' => "\r\n")); ?></textarea>
     
  3. alex-pro

    alex-pro Активный пользователь

    С нами с:
    31 янв 2010
    Сообщения:
    32
    Симпатии:
    0
    Адрес:
    Estonia
    $about = htmlspecialchars($about);
    $about = stripslashes($about);
     
  4. sDevAlex

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

    С нами с:
    28 окт 2010
    Сообщения:
    53
    Симпатии:
    0
    alex-pro
    А вдруг ему нужно в это поле HTML вводить? Тут проблема не в этом.[/b]
     
  5. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    В textarea, чего совсем ... попробуйте сами ввести!
    На то оно и text area
     
  6. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    Обработку оставить обязательно, если получаете из вне.
    вывод попробуйте https://php.ru/manual/function.nl2br.html при str_replace
    Кстати какая CMS? Возможно r n воспроизводятся с двойным слэшем.
     
  7. allowance

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

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    Greg1978
    Не использую CMS.

    Сделал так:
    $about = ereg_replace("\\r\\n|\\r|\\n","",$about);

    отображаются теперь \\ заместо \r\n
     
  8. Greg1978

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

    С нами с:
    18 окт 2008
    Сообщения:
    484
    Симпатии:
    0
    Адрес:
    class SenjorUser{}
    просмотрите и если можно выведите весь тест с отображаемыми символами
    скорее всего ещё сделайте str_replace('\\', '', $about);
    не используйте тем более ereg! если на то пошло preg
    $about = str_replace(array('\\r\\n', '\\r', '\\n'), array(",'',''), $about);
     
  9. ridraider

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

    С нами с:
    23 окт 2010
    Сообщения:
    65
    Симпатии:
    0
    $about = get_magic_quotes_gpc() ? mysql_real_escape_string(stripslashes($value)) : mysql_real_escape_string($value)