- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Друзья, переработал похоже, мозг не может простейший вопрос решить))
У меня в форме, отправляемой методом POST находится textarea. Задача, построчно прочесть $_POST['textarea'] и каждую строчку отдельно записать в БД.
Перед тем как записать в БД, на всякий случай хочу вывести на экран строчки чтобы убедиться что я все верно делаю:
foreach($textarea as $line)
{
echo $line.'<br />';
}
Но на экране вместо нескольких строчек появляется все в одну строку. Пример: 11111111\r\n222222222\r\n333333333
Подскажите пожалуйста, где я затупил.
$textarea = explode("\n", $_POST['textarea']);
foreach($textarea as $line)
{
echo trim($line).'<br />';
}
ещё лучше, если вам просто вывод:
$textarea=nl2br($_POST['textarea']);
echo $textarea;
$textarea = explode("\n", $_POST['textarea']);
foreach($textarea as $line)
{
echo trim($line).'<br />';
}
Спасибо! Сам понимаю что конструкция рабочая и также пробовал ее ранее. По прежнему вместо построчного вывода выдает результат:
111\r\n2222\r\n3333\r\n4444\r\n5555\r\n
Версия PHP 5.4.
Чудес не бывает. Вы вообще физически не должны видеть: \n
Поэтому скорее всего там идёт обработка какая-то. Посмотрите исходный код страницы.
Чудес не бывает. Вы вообще физически не должны видеть: \n
Поэтому скорее всего там идёт обработка какая-то. Посмотрите исходный код страницы.
Полностью с Вами согласен. Нашел причину. Оказывается что предварительно все POST и GET переменные обрабатываются командой real_escape_string, после чего результат записывался в эти же самые переменные (надеюсь смог внятно объяснить).
Решил вопрос вот так:
$textarea = str_replace('\r\n', ',', $_POST['textarea']);
$textarea = explode(",", $textarea);
foreach($textarea as $line)
{
echo trim($line).'<br />';
}
Сразу все стало выводиться построчно
elitedesign, А если в тексте попадется запятая?
Зачем?!
Перед добавлением и обрабатывайте каждую строчку. Обрабатывать POST и GET т.е. их менять это вообще неправильно.
Это на некоторых хостингах "безопасность" такая. 😂
Они по-другому не умеют, и думают, что так - супер.
Это на некоторых хостингах "безопасность" такая. 😂
Они по-другому не умеют, и думают, что так - супер.
Серьёзно такое есть на хостингах? Это же по сути может ломает CMS.
Серьёзно такое есть на хостингах?
Ну, не совсем такое. :) Я просто допустил, что ТС не совсем точно угадал насчёт причины экранирования, и на самом деле там работает magic_quotes_qpc.
Серьёзно такое есть на хостингах? Это же по сути может ломает CMS.
Не про CMS. Но, как могут, защищаются. Например YII так.
имеет смысл юзать у себя
Про real_escape_string (если это не про get_magic_quotes_gpc) , это скорее всего где то выше mysqli объявили и сконнектились и заодно входящие данные зачистили. Так что не к хостингу вопрос.