как самым простым и легким способом удалить <br> в конце строки если он существует. какой функцией проверять и какой лучше удалять?
эти бараны (юзеры) которые заходят на мой сайт пишут коммент и прежде чем нажать сабмит обязательно по непонятной причине еще и энтер нажимают.
и этот последний энтер сдвигает мне весь текст не так как надо.
заранее спасибо!
Спустя 21 минута, 16 секунд (26.03.2011 - 21:04) sergeiss написал(а):
Цитата (MatrixGod @ 26.03.2011 - 21:43) |
эти бараны (юзеры) которые заходят на мой сайт... |
При таком отношении к юзерам, может быть, лучше вообще не программировать? А то каждый раз нервы себе портишь
И ты подробнее укажи: там именно <br> или просто новая строка? И через какой элемент вводится - через textarea?
Спустя 1 минута, 12 секунд (26.03.2011 - 21:06) Snus написал(а):
MatrixGod
Боюсь, что проблема не в юзерах... При записи нужно было использовать trim()
Боюсь, что проблема не в юзерах... При записи нужно было использовать trim()
Спустя 10 минут, 53 секунды (26.03.2011 - 21:17) MatrixGod написал(а):
sergeiss
в базу данных попадает как "текст текст текст<br />".
данные вводятся через textarea.
я юзаю функцию nl2br но она необходима. ибо комменты иногда бывают размером в пару строк.
Snus
данные вводятся через textarea. trim не поможет.
в базу данных попадает как "текст текст текст<br />".
данные вводятся через textarea.
я юзаю функцию nl2br но она необходима. ибо комменты иногда бывают размером в пару строк.
Snus
данные вводятся через textarea. trim не поможет.
Спустя 7 минут, 26 секунд (26.03.2011 - 21:24) neadekvat написал(а):
Цитата (MatrixGod @ 26.03.2011 - 21:17) |
данные вводятся через textarea. trim не поможет. |
Поможет.
Сначала trim, а уже потом nl2br.
Спустя 38 секунд (26.03.2011 - 21:25) sergeiss написал(а):
MatrixGod - ищи ошибку у себя в коде... Ибо:
1. Все юзеры не могут ошибаться одинаково.
2. Даже если там и будет пустая строка, то она не сможет попасть в БД как '<br />'. Потому что это тэг HTML. Который сам по себе не попадет внутрь textarea.
Так что покажи тут код формы и код, которым ты пишешь в базу.
1. Все юзеры не могут ошибаться одинаково.
2. Даже если там и будет пустая строка, то она не сможет попасть в БД как '<br />'. Потому что это тэг HTML. Который сам по себе не попадет внутрь textarea.
Так что покажи тут код формы и код, которым ты пишешь в базу.
Спустя 1 минута (26.03.2011 - 21:26) Snus написал(а):
MatrixGod
Цитата |
данные вводятся через textarea. trim не поможет. |
И что? Какая разница? Да хоть веником ты туда информацию запихай, trim обрезает отступы с начала строки и конца.
<?php
$text = isset($_POST['text']) ? nl2br(trim($_POST['text'])) : NULL;
?>
<form action="" method="post">
<textarea name="text"><?=$text;?></textarea>
<input type="submit" value="done" />
</form>
И все отлично работает.
Спустя 4 минуты, 38 секунд (26.03.2011 - 21:30) sergeiss написал(а):
Цитата (Snus @ 26.03.2011 - 22:26) |
<?=$text;?> |
А вот короткие тэги лучше не использовать. Потому что можешь сам себе грабли устроить.
Спустя 1 минута, 20 секунд (26.03.2011 - 21:32) Snus написал(а):
sergeiss
Я дал кусок кода (тестовый) ему, чтобы он посмотрел, что trim решает его задачу на 5+, проблема в его коде.
Я дал кусок кода (тестовый) ему, чтобы он посмотрел, что trim решает его задачу на 5+, проблема в его коде.
Спустя 50 секунд (26.03.2011 - 21:32) inpost написал(а):
Регуляркой:
"<br />$"
"<br />$"
Спустя 8 минут, 35 секунд (26.03.2011 - 21:41) sergeiss написал(а):
Snus - ты дал код для случая, когда "новая строка" прописана в тексте в виде кода. А у меня есть подозрение, основанное на словах ТС, что у него именно в виде текста пишется <br /> в БД. Потому и предлагаю ему показать свой код.
Спустя 4 минуты, 6 секунд (26.03.2011 - 21:45) Snus написал(а):
sergeiss
Собственно, вот ответ:
Собственно, вот ответ:
Цитата (MatrixGod @ 26.03.2011 - 17:43) |
эти бараны (юзеры) которые заходят на мой сайт пишут коммент и прежде чем нажать сабмит обязательно по непонятной причине еще и энтер нажимают. |
Цитата (MatrixGod @ 26.03.2011 - 18:17) |
я юзаю функцию nl2br но она необходима. ибо комменты иногда бывают размером в пару строк. |
Спустя 3 минуты, 34 секунды (26.03.2011 - 21:49) sergeiss написал(а):
Snus - но не могут же ВСЕ юзеры И ВСЕГДА нажимать энтер, верно? А по словам ТС получается, что это происходит всегда. Поэтому я всё еще жду код от него
Спустя 2 минуты, 23 секунды (26.03.2011 - 21:51) Snus написал(а):
sergeiss
А ты не видишь, что автор темы уже по клавиатуре кулаками стучит с криками
А ты не видишь, что автор темы уже по клавиатуре кулаками стучит с криками
Цитата |
эти бараны (юзеры) |
Быть может все-таки
Цитата |
но не могут же ВСЕ юзеры И ВСЕГДА нажимать энтер |
Неверное суждение?
Спустя 1 минута, 6 секунд (26.03.2011 - 21:52) sergeiss написал(а):
Так а он потому и стучит кулаками по клаве, а клавой по столу, что ему кажется, что все его юзеры - бараны
Спустя 1 минута, 47 секунд (26.03.2011 - 21:54) Админ написал(а):
Цитата |
А вот короткие тэги лучше не использовать. Потому что можешь сам себе грабли устроить. |
да я уж ,я люблю твороженные булочки, писать про шорт-теги - оторвать голову тому гражданину, который их пропагандирует - поколение пепси блин
Спустя 1 минута, 30 секунд (26.03.2011 - 21:55) neadekvat написал(а):
Цитата (Админ @ 26.03.2011 - 21:54) |
шорт-теги |
Шорт.. шорт! *истерика*
upd
*утирает слезы* жесть.
Спустя 1 минута, 41 секунда (26.03.2011 - 21:57) MatrixGod написал(а):
sergeiss
конечно же не все ошибаются. только те кто нажимает в конце энтер.
у всех остальных все супер.
и в самой базе реально сохранено как "текст текст текст<br />".
лично проверил.
Snus
попробывал секунду назад дать трим до нл2бр - тоже самое.
конечно же не все ошибаются. только те кто нажимает в конце энтер.
у всех остальных все супер.
и в самой базе реально сохранено как "текст текст текст<br />".
лично проверил.
Snus
попробывал секунду назад дать трим до нл2бр - тоже самое.
Спустя 14 секунд (26.03.2011 - 21:57) Snus написал(а):
sergeiss
Я просто пытаюсь представить, какой из трех вариантов заставляет автора темы разбивать клаву:
1. trim(nl2br($text))
2. $text .= '<br />';
3. <textarea> <br /></textarea>
Я просто пытаюсь представить, какой из трех вариантов заставляет автора темы разбивать клаву:
1. trim(nl2br($text))
2. $text .= '<br />';
3. <textarea> <br /></textarea>
Спустя 2 минуты, 2 секунды (26.03.2011 - 21:59) sergeiss написал(а):
MatrixGod - шорт-тег тебя побери! Ты покажешь наконец-то свой код или закрыть тему по причине того, что она тебе не нужна?
Спустя 51 секунда (26.03.2011 - 22:00) neadekvat написал(а):
Snus, последний вариант не к месту
Спустя 7 минут, 14 секунд (26.03.2011 - 22:07) MatrixGod написал(а):
if($_POST[comment])
{
$_POST[comment] = nl2br(strip_tags(stripslashes(htmlspecialchars(trim($_POST[comment])))));
mysql_query("INSERT INTO...");
}
Спустя 1 минута, 36 секунд (26.03.2011 - 22:09) Snus написал(а):
MatrixGod
Сильно :D Ничего не скажешь! А на выходе ты тоже применяешь функцию nl2br?
$_POST[comment] = nl2br(strip_tags(stripslashes(htmlspecialchars(trim($_POST[comment])))));
Сильно :D Ничего не скажешь! А на выходе ты тоже применяешь функцию nl2br?
Спустя 3 минуты, 30 секунд (26.03.2011 - 22:13) neadekvat написал(а):
Жесть. Лишние функции применяешь.
Моя интерпритация
Моя интерпритация
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$comment = ! empty($_POST['comment']) ? $_POST['comment'] : null;
$comment = trim($comment);
$comment = mres($comment);
mysql_query("INSERT INTO...");
}
Спустя 27 секунд (26.03.2011 - 22:13) MatrixGod написал(а):
короч, ребята, хватит муть гнать, я уже нервничаю.
есть у кого умная идея или нет?
чтоб не писать это в 10 строк - написал все в одной. ничего такого.
есть у кого умная идея или нет?
$_POST[comment] = nl2br(strip_tags(stripslashes(htmlspecialchars(trim($_POST[comment])))));
чтоб не писать это в 10 строк - написал все в одной. ничего такого.
Спустя 2 минуты, 14 секунд (26.03.2011 - 22:15) neadekvat написал(а):
Цитата (MatrixGod @ 26.03.2011 - 22:13) |
короч, ребята, хватит муть гнать, я уже нервничаю. |
Ой, вы уж меня простите, хозяич, мне так стыдно Давайте я вам денежную компенсацию переведу на кошелек? Заставил вас нервничать.. блин.. так неудобно получилось..
Спустя 12 секунд (26.03.2011 - 22:15) Snus написал(а):
neadekvat
Таким образом, я легко могу добавить пустой комментарий. И что такое mres? wtf?
Таким образом, я легко могу добавить пустой комментарий. И что такое mres? wtf?
Спустя 1 минута, 8 секунд (26.03.2011 - 22:17) neadekvat написал(а):
Цитата (Snus @ 26.03.2011 - 22:15) |
Таким образом, я легко могу добавить пустой комментарий. И что такое mres? wtf? |
Всовывать обработку ошибок - это уже автора дело.
А mres - это своя mysql_real.. на автомате написал, по привычке.
Спустя 3 минуты, 3 секунды (26.03.2011 - 22:20) Snus написал(а):
neadekvat
Не путай автораMatrixGod
Не путай автораMatrixGod
$comment = isset($_POST['comment']) ? nl2br(strip_tags(trim($_POST['comment']))) : NULL;
if(!empty($comment))
mysql_query(...) or die(mysql_error());
Спустя 2 минуты, 38 секунд (26.03.2011 - 22:22) MatrixGod написал(а):
Snus
не работает!!! та же фигня!!!
я бы не стал создавать топик если бы все так было просто.
п.с. трим только от пробелов избавляется. а переход на новую строку для него это не пробел.
не работает!!! та же фигня!!!
я бы не стал создавать топик если бы все так было просто.
п.с. трим только от пробелов избавляется. а переход на новую строку для него это не пробел.
Спустя 47 секунд (26.03.2011 - 22:23) Snus написал(а):
MatrixGod
Покажи код, как ты выводишь из БД каменты. У меня такое ощущение, что у тебя еще одно nl2br стоит.
Покажи код, как ты выводишь из БД каменты. У меня такое ощущение, что у тебя еще одно nl2br стоит.
Спустя 43 секунды (26.03.2011 - 22:24) neadekvat написал(а):
> strip_tags
В топку ее!
> nl2br
И ее!
Это надо делать перед выводом в браузер. Притом вместо первой функции следует использовать htmlspecialchars.
MatrixGod, добавьте второй аргумент: trim($arg, " \r\n");
В топку ее!
> nl2br
И ее!
Это надо делать перед выводом в браузер. Притом вместо первой функции следует использовать htmlspecialchars.
MatrixGod, добавьте второй аргумент: trim($arg, " \r\n");
Спустя 3 минуты, 55 секунд (26.03.2011 - 22:28) MatrixGod написал(а):
Snus
на выходе ничего нет. в том числе и нл2бр.
тупо
на выходе ничего нет. в том числе и нл2бр.
тупо
echo $row[comment];в цикле.
Спустя 10 минут, 2 секунды (26.03.2011 - 22:38) inpost написал(а):
MatrixGod
Я же уже ответил =)
Я же уже ответил =)
Спустя 6 минут, 21 секунда (26.03.2011 - 22:44) alex12060 написал(а):
По-моему, вариант inpost-a самый верный.
Спустя 2 минуты, 29 секунд (26.03.2011 - 22:47) Snus написал(а):
MatrixGod
Дастишь фантастишь какой-то. У тебя на хосте завелся злой гном, который твои стринги подменяет.
Дастишь фантастишь какой-то. У тебя на хосте завелся злой гном, который твои стринги подменяет.
Спустя 4 минуты, 15 секунд (26.03.2011 - 22:51) MatrixGod написал(а):
inpost
я в регулярках не силен. можно конкретней?
я в регулярках не силен. можно конкретней?
Спустя 2 минуты, 13 секунд (26.03.2011 - 22:53) neadekvat написал(а):
MatrixGod, попробовали?
Цитата (neadekvat @ 26.03.2011 - 22:24) |
добавьте второй аргумент: trim($arg, " \r\n"); |
Спустя 8 секунд (26.03.2011 - 22:53) sergeiss написал(а):
MatrixGod, и все-таки... Покажи весь код Запись в БД мы видели. Но есть еще форма и где идет чтение из БД. Покажи всё!!!
Спустя 30 секунд (26.03.2011 - 22:54) inpost написал(а):
MatrixGod
Там же всё предельно ясно.
<br /> и конец строки $, через preg_replace убираешь, но это надо делать при добавлении, а не при выводе, чтобы каждый раз регулярку не гонять.
Если слаб - отличный повод изучить регулярку, целый год на форуме не просто так.
Там же всё предельно ясно.
<br /> и конец строки $, через preg_replace убираешь, но это надо делать при добавлении, а не при выводе, чтобы каждый раз регулярку не гонять.
Если слаб - отличный повод изучить регулярку, целый год на форуме не просто так.
Спустя 22 минуты, 57 секунд (26.03.2011 - 23:17) MatrixGod написал(а):
neadekvat
пробывал...
пробывал...
Спустя 15 минут, 1 секунда (26.03.2011 - 23:32) sergeiss написал(а):
Короче говоря, я понял... Автору темы не нужно решение, а нужно "просто поговорить". Иначе он давно бы показал код.
Кто как хочет - а я из темы ухожу и не возвращусь в неё. Она стала совсем не интересной.
Кто как хочет - а я из темы ухожу и не возвращусь в неё. Она стала совсем не интересной.
Спустя 50 минут, 19 секунд (27.03.2011 - 00:22) MatrixGod написал(а):
всем спасибо, справился!
Snus, тебе спасибо. все таки трим помог. я его просто не туда засунул...
sergeiss, спасибо и тебе!
Snus, тебе спасибо. все таки трим помог. я его просто не туда засунул...
sergeiss, спасибо и тебе!
Спустя 4 часа, 13 минут, 8 секунд (27.03.2011 - 03:35) Invis1ble написал(а):
neadekvat
А зачем для trim() добавлять второй аргумент? Она вроде как и без него с переводом строки справляться должна....
А зачем для trim() добавлять второй аргумент? Она вроде как и без него с переводом строки справляться должна....
Спустя 8 часов, 31 минута, 23 секунды (27.03.2011 - 12:06) neadekvat написал(а):
Invis1ble, автор утверждал, что не работает у него. Я ему и посоветовал явно указать, от чего он хочет избавиться.
Как оказалось, автор действительно хотел просто поболтать.
Как оказалось, автор действительно хотел просто поболтать.