Не работает trim()Текст вводится в div с атрибутом contenteditable. Далее аяксом передается в другой файл и там обрабатывается тримом, после чего заносится в БДДело в том что текст вносится с пробелами в начале несмотря на trim(). Пробовал напрямую прописать текст - обработка происходит. Пробовал также обрабатывать тримом во время передачи аяксом - таже ситуация - передается с пробелами, а если прямо там прописать текст, то обрабатывается.А чем проблема?
бамп
иди нахуй
нахуй иди
>>136581105 (OP)Непонятно нихуя из твоего описания.
>>136581988я хз как понятней описать, корое трим не работает из-за чего он может не работать?
>>136582240короче*
>>136581105 (OP)Мудила, у тебя текст в теги оборачивается
>>136581105 (OP)Пилиcodepen.io
>>136582240Кот давай, где трим и сохранение происходит.
>>136582376Похоже на правду, но нет, в БД заносится просто текстЩа код запилю
>>136582749Зачем ты пробелы аяксом гоняешь? Тримай на фронте
>>136582749>Ща код запилюдумал запилить на какойто jsfiddle.net но я хз как там через аякс передать, а сюда хуй скину иб окакое-то слово из спам-листа, а вычленять из кода какое именно слово - это пиздец
>>136582840Пробовал, гвоорю же. Всеравно передается с пробелами. Но если взять текст не из дива, посредством innerHTML. а тупо написать ег ов переменную - тогда работает
Ошибка в 42 строке.
Короче какая разница как и че написано? трим не обрабатывает переданный текст, почему эт оможет происходить?
>>136581105 (OP)>А чем проблема?в коде
>>136583826Значит там не пробел, а какое-то другое невидимое говно.
>>136583653про что несешь?
>>136583826Ты показывай кусок текста, что на входе, что на выходе. Пиздец, у тебя вопросы - пойди туда не хнаю куда найди то не знаю что
>>136581105 (OP)div и js покажи
>>136583826Это может происходить, если с начала/конца строки какая-то хуита вместо ожидаемого вайтспейса. Сделай ord на $s[0] и $s[ strlen($s) - 1]Может ты просто не сохраняешь результат трима?
>>136583928но трим же все пробелоподобное удаляетКак вообще реализовать трим регуляркой?
>>136583993Про код, который ты нам показал. Телепаты в отпуске, я их заменяю по мере сил.
>>136584025>>136584131Да это пиздец сложно потомучто все разбросано по разным файлам и на каждой хуйне по куче функций. НУ ща попробуюdiv:<div style="width: 250px; height: 50px; border: 1px solid #000;" id="message" oninput="warn()" onkeydown="usl(event)" contenteditable></div>кнопка:<input type="submit" id="button" value="Отправить" onclick="send(); return false">js:function send() {$.ajax({url: "/static/ajax_send?ajax",type: "POST",data: { message: document.getElementById('message').innerHTML },cache: false,success: function(suc){msgs(); document.getElementById('message').innerHTML = '';warn();}});}
>>136584206Почитай мануал, дебил.http://php.net/manual/ru/function.trim.php
>>136584157>ord на $s[0] и $s[ strlen($s) - 1]больно читать даже( что это такое?
>>136584568Числовой код символов в начале и в конце строки? Поцчему тебе больно?другой
>>136584568Это я про получение ASCII-кодов первого и последнего символа.Код обработки своего дерьма на PHP кидай, что ты тянешь?
>>136584722>Поцчему тебе больно?потомучто я не знаю что это и как это сделать
>>136584458Попробуй тримить в JS перед отправкой, например.data: { message: document.getElementById('message').innerHTML.trim() },
>>136584157Пиздец, долбоеб на долбоебе. А если друг без этой хуеты придет? Прощай по 1 значащему симолу с обоих сторон.trim($str, "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14");Ебани все непечатаемые символы.
>>136584772>Код обработки своего дерьма на PHP кидай, что ты тянешь?не кричи, я теряюсь и руки потеют(public static function send($m) {self::$message = trim($m);if (mb_strlen(self::$message) >= self::$legmes && mb_strlen(self::$message) <= self::$legmesm) {dbq("INSERT INTO `messages` SET `login` = '".mres(Auth::login())."', `date` = ".Time::getTime().", `message` = '".mres(self::$message)."'");}}
>>136584876>>136583218
>>136584989Бля, снова ты со своим легмесом.
>>136584911> А если друг без этой хуеты придет?Что ты несёшь, дурко? Я хочу узнать, что за еботека ему в строке приходит.
>>136585039Не пизди, я твой пост жопой прочитал.
>>136584911всеравно отправляет с пробелами в начале
>>136585036да это я
>>136584989Попробуй заменить trim вот этим:self::$message = preg_replace("/(^\s+)|(\s+$)/us", "", $m);
>>136584458сериализуй json перед отправкой
var_dump()все что можно.
>>136581105 (OP)Парни, не помогайте ему, это Абу регистрацию на сосаче пилит. АБУ, ПРЕКРАТИ!
>>136584989Ох ты ж ёбаный ты нахуй...А что mres делает? Обёртка вокруг какой-нить ебаной mysql_real_true_final_ne_pacani_eto_realno_ona_escape_string() ?
>>136581105 (OP)ёб твою мать и это существо работает за деньги, еб твою мать... тут блядь без фреймфорков пишешь чтобы все летало, а это существо пробелы еб твою мать удаляет на сервере
>>136585224всеравно
>>136584989$m = trim($m);потому вставляй в свой говнозапрос $mЧо будет?сука, юззай подготовленные запросы а не то приду и жопу инъекцией выибу!
>>136585329да, она. я ж сказал что миллион функций по разным файлам разбросано(
>>136584989>dbqPDO для заднеприводных
>>136585401for ($i = 0; $i < strlen($m); $i++){echo ord($m[$i]) . "<br>";}
>>136581105 (OP)ДА ТЫ ОХУЕЛ СУКА УЖЕ НЕДЕЛЮ СВОЁ ГОВНО ДЕЛАЕШЬ БЛЯДЬ 10 СТРОК НЕДЕЛЮ НАХУЙ ТЫ ТАМ ИЗ ШКОЛЫ ДЛЯ ОСОБЕННЫХ ЧТО ЛИ ПИШЕШЬ?!?!?
>>136585564Во, зделой оп
>>136585389>без фреймфорков пишешь чтобы все леталовот из-за таких вот пидаров у меня браузер и тормозит на всяких js-говносайтах. чтобы пальцы у тебя отсохли нахуй.
>>136584989>self::$message = trim($m);ты там наркотой обкололся что ли? нахуя ты статикой $message сделал? ты ебанутый?
>>136585627у тебя не может ничего тормозить, маму ебал.сама страница в итоге 30-50кб со всем фронтендом. Грузится в момент, а то что макаки пишут что в итоге страница загружается за 6-10 секунд и весит по 2-6мб. Так что ты уебок рукожоп
>>136585777Так у него метод статический.
>>136585564сук, как сделать чтобы оно занеслось в БД, страница то не обновляется после отправки
>>136585777Процедурное программирование, обернутое в классы.
>>136585940Смотри в ответе в консоли отладки браузера, блять.
>>136585940аъаъаъаъаъ
>>136586047Знаю, мы все тут охуеваем с ОПа.
>>136585389чтобы тебе потом какой-нибудь дурачок мог насрать в базу данных отправив запрос? красава
>>136585904да нахуя вообще его к классу проворачивать?!>>136585962>Процедурное программирование, обернутое в классыОП в специальную олимпиаду играет что ли?
>>136585854>у тебя не может ничего тормозитьумри нахуй, дебил. мне в общем-то похуй, я эти говноподелия, которые бэкэнд переносят на фронт, закрываю сразу же нахуй, и остальные тоже самое делают.
бля, а в базу то заносится  ))))))трим же эту хуиту пропускает?)
>>136585940$ords = "";for ($i = 0; $i < strlen($m); $i++){$ords .= ord($m[$i]) . " ";}self::$message = $ords;...
>>136586209Да нет, просто новичок. Классы сами по себе очень логично на процедурное погромирование перекладываются. Типа класс это модуль, а все статические методы это обычные функции этого модуля.
>>136586215Чего у тебя полыхает-то? Все равно нужно на сервере трим (и вообще фильтрацию) делать - мало ли чего туда хитрый клиент захочет насрать!
>>136586179каким образом?ты имеешь ввиду sql-inj/include etc..?лол, я с этого начинал, а потом уже и кодить стал
>>136586228Пиздец ты, Абу.
>>136586228АХАХАХААХАХА! Сука, не прошло и полгода!Не, трим ' ' не обрезает. Справку почитай.
>>136585854Ну если у тебя сайт-визитка, где js только для снежинок используется, то да.
>>13658625438 110 98 115 112 59 32 38 110 98 115 112 59 209 133 209 131 208 185 32 38 110 98 115 112 59 38 110 98 115 112 59написал: 3пробел ахуй 3пробела
>>136586215что ты на бекенд переносишь?взаимодействие с dom?
>>136586414ну как бы пользователь может отправить запрос к тебе на сервер минуя все твои тримы на стороне клиента
оп и его код
>>136586445а как обработать   и переносы строки?
>>136586591на самом деле я учусь и поэтому столько дохуя хуйни, которую я использую но как толком пользоваться не знаю
>>136586524Да уже похер. Неразрывный пробел же заносится. Хотя он по кода видно: 38 - &, 110 - n
>>136586489например приложение с сотнями тысячами в вк.эти 30км дают нихуевый такой трафик, если бы писал как вы, разорился бы за инет платить
>>136586414Ты в курсе, что в браузере можно редактировать жс в дев. тулзах и его исполнять? Если кто-то сильно захочет, то и твой минифицированный и обфусцированный код отредактирует и накдаёт тебе хуйуов за щеку в БД.
>>136586524пиздец кокойта
>>136586413мне полыхает от пидаров, которые бэк переносят на фрон и трим в том числе. ко-ко-ко 3 байта всего, а то, что это исполняемый код, который начинает всю систему завешивать нахуй из-за их криворучия, эти изоморфные долбоебы не вдупляют.
>>136586723>сотнями тысячами в вк. эти 30кмУ тебя шизофазия что ли?
>>136586534всю обработку данных
>>136586639html_entity_decode
>>136586639читай мануал, пидар ленивый
>>136586905Не уберет nbsp
>>136586811if (document.getElementById('parol').value != 'huipizda'){alert('Popitka vzloma!');else{location = '/super_secretnaya_stranica';}
>>136586710Ну ладно, если правда учишься, то прочти хотя бы это.
>>136586639Ну на фронте обработай, эта херня в таком виде в PHP в принципе не должна попадать (у тебя ж jQuery? Юзай .text() или посмотри innerText/textContent). На PHP можешь сделать str_replace(" ", '', $str);Переносы строки trim() удаляет.
>>136586723>разорился бы за инет платитьты хуже червя пидара, в итоге должен платить я электричеством за то, что должен делать сервер, но я не плачу, потому что шлю нахуй такие говноподелия, которые даже траф не окупают
>>136586905зделол вот так:self::$message = html_entity_decode($m);self::$message = trim(self::$message);всеравно в БД заносится с пробелами, хоть и не с такими -  
>>136587271Да, должно наботать. Только не трим, а self::$message = preg_replace("/(^\s+)|(\s+$)/us", "", $m);
>>136587117у него переносы строк - это <br> скорее всего
>>136587271Сука, мануала читай!Может показаться странным, что результатом вызова trim(html_entity_decode(' ')); не является пустая строка. Причина том, что ' ' преобразуется не в символ с ASCII-кодом 32 (который удаляется функцией trim()),а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.
>>136587271там другой символ, корочев смысле непереносимый пробел - это не пробел
сука щас зажал ентер и оно позаносило в БД вот такое:
>>136587415А в UTF-8 это будет двухбайтовая последовательность и оп снова соснет
>>136587452НЕПЕРЕНОСИМЫЙ ПРОБЕЛ
>>136587546Используй innerText, а не innerHTML
>>136587546хуле там дивы? а перед этим дивов нет
>>136587572Я его в мануалы посылаю. Блять, описана ровно его ситуация, но нет, я лучше на дваче постону.
Посаны, посаны! Я на стековерфлоу нашел ответ! ОПу надо просто жыквери добавить!
>>136587621заенил, всеравно
>>136587364>self::$messageраз уж ты не сообразил объект создать, лучше юзай static::$message, а то при наследовании классов опять прихуяришь сюда выяснять, почему переменная хуй пойми какое значение принимает.
Сука вы меня запутали( что мне делать?( я щас расплачусь(
>>136587830strip_tags сделай
>>136587794Жыквери - прошлый век, плюс не всегда правильно числа складывает, например 0.1 + 0.2. Ангуляр2 нужен СРОЧНА!!1111 Ангуляр придёт - порядок наведёт.
>>136588002>что мне делать?менять профессию очевидно же
>>136588055нельзя, у меня там ббкоды и смайлики^^
>>136588002> что мне делать?П Л А К А Т ЬЯ бы даже сказал РЫДАТЬ. Сука, зашёл в тред поржать над говнокодом, а тут всё настолько хуйово, что даже не смешно. Чувак, просто оставь эту затею, а? Не травмируй себя. Программирование за денежку - это задачи вида "изобретите вакцину от полиомиелита в условиях невесомости", а ты даже задачу уровня "положите яйцо в ведро" не можешь осилить. Яйца бьются, вёдра протекают. Печально.
>>136588408не пизди я норм справляюсьу мамы, ок(
>>136588590>я норм справляюсьнет
>>136588665>нетсеньора ответ!
>>136588665даКароче мне нужна функция, которая бы:Удаляла тег <div> из всего сообщения и из того что осталось удаляло в начале и конце   и <br>.Как реализовать такую?
>>136589063Так возьми и напиши. Алсо, адресок сайта скинь, я тебе не буду <div> писать, честно-честно. Я тебе <script> пошлю.
>>136588590> я норм справляюсьСмотря что понимать под "норм справляюсь". Камплухтер не загорелся, руки не сломались - уже норм. А вот код ниибательски ужасен.
>>136589280>адресок сайта скиньтак на локальном же сервере>Я тебе <script> пошлюебат ья пригорел. Бля так, а как правильно реализовать безопасно чтоб?(
>>136589534
>>136589063$m = trim(str_ireplace(['<div>', '</div>', '<br>', '<br/>', '<br />', ' '], ['', '', '\n', '\n', '\n', ' '], $m));
>>136589534strip_tags
>>136589738<div class="foo"></div>>>136589795Ты нипанимаишь! У него йоба-рич-текст-эдитор на <div contenteditable>!
>>136589534Нужные теги перед strip_tags замени чем-нибудь. В кваджратные скобочки возьми.
>>136589896Создай список разрешенных тегов, блджад. А все остальные убивай.
>>136589795У меня до того как я ща начал эти все манипуляции почемуто все html теги вносились как просто текст, если от руки писать, а если нажимать на кнопки ббкодов, которые я сделол, тогда применялись. От чего мне были не страшные разные <script>, а ща чет начало все текстом быть в поле ввода
>>136590012но как именн ов начале удалить и в конце
>>136590057>>136589280вот, если оно у меня так отображается, ничего страшного же?
>>136590143В начале и в конце чего? Где начало, и где конец?
>>136590223имею ввиду <script>
>>136590288Написал же>>136589063
>>136590355Когда ты удалишь все лишние теги, там в начале ничего не будет или будут пробелы, которые удалятся тримом.
>>136590223Заебок, 10/10. Убийца Пейсбука и Вкудахта готов!мимоJuniorCSSArchitect
>>136590490нет, в начале будет    
>>136590355Т.е., ты заменишь на пробел, и br на пробел или на '\n', это все потом тримом удалится.
>>136590558ты о чем?
>>136590607Не будет, ты же заменишь на простой пробел.
>>136590621аааааагодная идея
>>136590223Ничего страшного. Это при вводе браузер за тебя <script> превращает в <script>, а вот я превращать не буду! Алсо, кроме <script> есть всякие onclick.
>>136590666О твоём сайте. Он просто дьявольски хорош. Лучше только моя причёска.
>>136590820Лол АБУ СУКА! < script > имелось в виду.
>>136589738>>136590668бля спасибо, збс все. Но когда зажимаю ентер, выходит пикрелейтед
>>136590962Ну поменяй все '\n' там на пробел ' '
>>136590879довн, я кидал не для того чтобы показать хорош он или нет, а чтобы показать что <script> преображает в &l t;script&g t;>>136590820а как можно обойти это превращение?(
>>136591036Тогда переносов строки не будет. А они нужны. И почему трим не обрабатывает \n ?
>>136591119strip_tags
>>136590820и стоп этож не браузер, а сервер превращает
>>136591184тогда смайлов и ббкодов не будет(
>>136591155Ну, там просто кавычки другие нужны, двойные.
>>136591265В strip_tags можно задать белый список допустимых тегов, которые останутся.
>>136591216Блять. У тебя <div contenteditable>. Ты вводишь туда <script>. Он, блять, не HTML-редактор, поэтому он должен отображать текст, как есть. И он для этого escape-ит (кодируетв HTML-entities) < > и прочие кавычки. Если кто-то будет посылать на сервер текст напрямую, не вводя это в твой див, он может послать текст без преобразования, и на сервер уйдет нормальный <script>. И выполнится, когда ты достанешь его из базы и воткнешь в HTML. А сервер ничего не кодирует, ему похуй.
>>136591375Это не спасет его от <b onclick="alert(document.cookie);">hello, bleat</b>
>>136591375а как там выглядит синтаксис, чтобы внести несколько тегов?
>>136591592strip_tags($m, '<br><b><em>');в пхп-мануалах забанили?
>>136591660Там же читать надо :((((
рейт мой проджект
>>136591471стоп его превращает mysql_escape_string как кто-то может это обойти? я бля толком не понял что ты написал если чесн(
>>136591660там один пример, с одним тегом
>>136591586можно заменять нужные теги на что-то, потом strip_tags, потом обратно.
>>13659175010 из 10, чувак. Убийца мамбы.Junior CSS Architect
>>136591750И чего оценивать тут?
>>136591884Чувака на фотке справа. Правильный ответ: карлан/10.
вот так сделал, норм?self::$message = trim(str_replace(['<div>', '</div>', '<br>', '<br/>', '<br />', ' '], ['', '', '\n', '\n', '\n', ' '], $m));self::$message = strip_tags(self::$message, '<b><i><u><img><font>');этот >>136591586 анон мне теперь не страшен?
>>136591884парсер
>>136591981Хмм, а про span-то ты забыл. Пизда твоему сайту.мимодругойанон
>>136591981ты '\n' поменяй на "\n" везде.
>>136592006Я бы это сделал с фреймворком и на mongodb, не менее 5 тыс строк кода.
>>136592146Вы победили
>>136592085спасиб, но мне на самом деле <br> нужен, чтобы были переносы, но удалялись в начале и конце сообщения. Как такую регулярку зделоть?
>>136592276После трима замени их обратно на br, очевидно же.
>>136592276спешил фо юhttp://embed.plnkr.co/B5uxame7CkNEC1YcyU8I/
>>136581105 (OP)Код.
>>136592146Я бы ещё юнит тесты для юнит тестов написал.
>>136592276$m = str_replace("\n", '<br/>', $m);
if ($OP = 'pidor') { echo 'Ну вы понели...'}Ноуп, в ифе нет ошибки.
>>136592408збс, тепер ьвроде все как надо, писибки большое
>>136592468архитектор sqlite в треде
>>136592582одно =
>>136592591Что не так с SQLite?
>>136592582надо так:if ('pidor' == $OP) {...}
Ладно братушки, спасибо, выручили, пойду спаткиЕще 2 хуйни завтра надо реализовать, мож опять придется тредик создавать
>>136592731надеюсь ты не оп, потому что это слишком
>>136592746Не, не надо. Читаешь потом такую хуйню в стиле Йоды и плюёшься.
>>136592806Я не оп, а ты на вопрос ответь.
>>136592843И главное, нихуя не помогает от if (limit = i)
>>136592805Ебанутый что ли? Все что ты там придумываешь, все эти велосипеды твои - все давно уже сделали и не 1 раз. Открывай стэковерфлоу и мануалы. Нахуя тут треды создавать то.
>>136592843Это лучше, чем тихое присваивание с постоянной истиной. Хотя, всыкие phpmd/phpcs помогают.
>>136592853в интернете только двач не заблокировали?
>>136592985всякие
>>136592843>пикпродолжай пидр, заинтриговал