2012-03-10 15 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 ])

この関数STRの 先頭と末尾から取り除か空白文字で文字列を返します。二番目のパラメータがなければ、これらの文字を削除 ます)(トリム:

" " (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

は、具体的には、最初から削除するには、TRIMを探している左

+0

マインド:http://php.net/manual/en/function.trim.php – Sgoettschkes

+0

ないLTRIM()関数。トリム()関数はOnluを実行します。 – yehuda

+0

申し訳ありませんが、ltrimを気にしていませんでした! – Sgoettschkes

0

から空白を削除し

ltrim() 

を使用します。

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])))."'";