[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: удалить <br> в конце строки.
MatrixGod
всем привет!

как самым простым и легким способом удалить <br> в конце строки если он существует. какой функцией проверять и какой лучше удалять?

эти бараны (юзеры) которые заходят на мой сайт пишут коммент и прежде чем нажать сабмит обязательно по непонятной причине еще и энтер нажимают.

и этот последний энтер сдвигает мне весь текст не так как надо.

заранее спасибо!



Спустя 21 минута, 16 секунд (26.03.2011 - 21:04) sergeiss написал(а):
Цитата (MatrixGod @ 26.03.2011 - 21:43)
эти бараны (юзеры) которые заходят на мой сайт...

При таком отношении к юзерам, может быть, лучше вообще не программировать? А то каждый раз нервы себе портишь smile.gif

И ты подробнее укажи: там именно <br> или просто новая строка? И через какой элемент вводится - через textarea?

Спустя 1 минута, 12 секунд (26.03.2011 - 21:06) Snus написал(а):
MatrixGod
Боюсь, что проблема не в юзерах... При записи нужно было использовать trim()

Спустя 10 минут, 53 секунды (26.03.2011 - 21:17) MatrixGod написал(а):
sergeiss
в базу данных попадает как "текст текст текст<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 минута (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+, проблема в его коде.

Спустя 50 секунд (26.03.2011 - 21:32) inpost написал(а):
Регуляркой:
"<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 - но не могут же ВСЕ юзеры И ВСЕГДА нажимать энтер, верно? А по словам ТС получается, что это происходит всегда. Поэтому я всё еще жду код от него smile.gif

Спустя 2 минуты, 23 секунды (26.03.2011 - 21:51) Snus написал(а):
sergeiss
А ты не видишь, что автор темы уже по клавиатуре кулаками стучит с криками
Цитата
эти бараны (юзеры)

Быть может все-таки
Цитата
но не могут же ВСЕ юзеры И ВСЕГДА нажимать энтер

Неверное суждение? wink.gif

Спустя 1 минута, 6 секунд (26.03.2011 - 21:52) sergeiss написал(а):
Так а он потому и стучит кулаками по клаве, а клавой по столу, что ему кажется, что все его юзеры - бараны biggrin.gif biggrin.gif biggrin.gif

Спустя 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бр - тоже самое.

Спустя 14 секунд (26.03.2011 - 21:57) Snus написал(а):
sergeiss
biggrin.gif biggrin.gif biggrin.gif

Я просто пытаюсь представить, какой из трех вариантов заставляет автора темы разбивать клаву:
1. trim(nl2br($text))
2. $text .= '<br />';
3. <textarea> <br /></textarea>

biggrin.gif

Спустя 2 минуты, 2 секунды (26.03.2011 - 21:59) sergeiss написал(а):
MatrixGod - шорт-тег тебя побери! smile.gif Ты покажешь наконец-то свой код или закрыть тему по причине того, что она тебе не нужна?

Спустя 51 секунда (26.03.2011 - 22:00) neadekvat написал(а):
Snus, последний вариант не к месту smile.gif

Спустя 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
$_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 написал(а):
короч, ребята, хватит муть гнать, я уже нервничаю.
есть у кого умная идея или нет?

$_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)
короч, ребята, хватит муть гнать, я уже нервничаю.

Ой, вы уж меня простите, хозяич, мне так стыдно sad.gif Давайте я вам денежную компенсацию переведу на кошелек? Заставил вас нервничать.. блин.. так неудобно получилось..

Спустя 12 секунд (26.03.2011 - 22:15) Snus написал(а):
neadekvat
Таким образом, я легко могу добавить пустой комментарий. И что такое 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
$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 стоит.

Спустя 43 секунды (26.03.2011 - 22:24) neadekvat написал(а):
> strip_tags
В топку ее!
> nl2br
И ее!
Это надо делать перед выводом в браузер. Притом вместо первой функции следует использовать htmlspecialchars.

MatrixGod, добавьте второй аргумент: trim($arg, " \r\n");

Спустя 3 минуты, 55 секунд (26.03.2011 - 22:28) MatrixGod написал(а):
Snus
на выходе ничего нет. в том числе и нл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, и все-таки... Покажи весь код smile.gif Запись в БД мы видели. Но есть еще форма и где идет чтение из БД. Покажи всё!!!

Спустя 30 секунд (26.03.2011 - 22:54) inpost написал(а):
MatrixGod
Там же всё предельно ясно.
<br /> и конец строки $, через preg_replace убираешь, но это надо делать при добавлении, а не при выводе, чтобы каждый раз регулярку не гонять.

Если слаб - отличный повод изучить регулярку, целый год на форуме не просто так.

Спустя 22 минуты, 57 секунд (26.03.2011 - 23:17) MatrixGod написал(а):
neadekvat
пробывал... sad.gif

Спустя 15 минут, 1 секунда (26.03.2011 - 23:32) sergeiss написал(а):
Короче говоря, я понял... Автору темы не нужно решение, а нужно "просто поговорить". Иначе он давно бы показал код.

Кто как хочет - а я из темы ухожу и не возвращусь в неё. Она стала совсем не интересной.

Спустя 50 минут, 19 секунд (27.03.2011 - 00:22) MatrixGod написал(а):
всем спасибо, справился! smile.gif
Snus, тебе спасибо. все таки трим помог. я его просто не туда засунул... smile.gif
sergeiss, спасибо и тебе!

Спустя 4 часа, 13 минут, 8 секунд (27.03.2011 - 03:35) Invis1ble написал(а):
neadekvat
А зачем для trim() добавлять второй аргумент? Она вроде как и без него с переводом строки справляться должна.... unsure.gif

Спустя 8 часов, 31 минута, 23 секунды (27.03.2011 - 12:06) neadekvat написал(а):
Invis1ble, автор утверждал, что не работает у него. Я ему и посоветовал явно указать, от чего он хочет избавиться.
Как оказалось, автор действительно хотел просто поболтать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.