2012-03-10 3 views
0

Как удалить пробел или пустую строку в начале, у меня есть на моей части сайта, где пользователи могут писать описание о себе, но когда и введите 10 раз кнопку пробела, вы можете сохранить это в базе данных .. как я могу защитить тип пространства при начале или удалении?Удалите пробел или пустую строку при запуске

пример:

     with space 

и

without space (this is good) 

Это мой код прямо сейчас:

$sql = "UPDATE user SET description='".addslashes(str_replace("\r\n"," ",$_POST[description]))."'"; 

ответ

3

Вы можете сделать это:

trim($_POST[description]) 
1

Это именно то, что делает trim():

$description = trim($_POST['description']); 

Если вам нужна только левая или правая сторона, используйте rtrim() или ltrim().

http://php.net/manual/en/function.trim.php

строка trim (string $str [, string $charlist ])

Эта функция возвращает строку с пробелами, отделенной от начала и конца ул. Без второго параметра, обрезки() будет раздеться эти символы:

" " (ASCII 32 (0x20)), an ordinary space. 
"\t" (ASCII 9 (0x09)), a tab. 
"\n" (ASCII 10 (0x0A)), a new line (line feed). 
"\r" (ASCII 13 (0x0D)), a carriage return. 
"\0" (ASCII 0 (0x00)), the NUL-byte. 
"\x0B" (ASCII 11 (0x0B)), a vertical tab. 
0
$string = '    a string!'; 
$string = ltrim($string); 
echo $string; //outputs 'a string!'; 

Тем не менее, вы действительно не должны быть инъекционные ввод данных пользователем напрямую в вашу базу данных. Посмотрите параметризованный запрос или тому подобное. adslashes - не хорошая безопасность.

Редактировать: ltrim() оправляет слева, rtrim() выравнивает справа, а trim() выравнивает оба.

1

Чтобы специально удалить из начала, используйте

ltrim() 

, который удаляет пробелы из левой

+0

ума, что он также удаляется из пробельных справа: http://php.net/manual/en/function.trim.php – Sgoettschkes

+0

Не функция LTRIM(). Функция Onlu trim() делает. – yehuda

+0

Извините, не знала ltrim! – Sgoettschkes

0

Вы можете использовать функцию ltrim, если хотите удалить пробелы с начала.

$sql = "UPDATE user SET description='".addslashes (ltrim(str_replace("\r\n"," ",$_POST[description])))."'"; 

И если вы хотите удалить пробелы как с начала, так и с конца, вы можете использовать функцию обрезки.

$sql = "UPDATE user SET description='".addslashes (trim(str_replace("\r\n"," ",$_POST[description])))."'"; 
Смежные вопросы