php
2012-03-10 31 views 0 likes 
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!'; 

這就是說,你應該不會被直接注入用戶輸入進入你的數據庫。請看看參數化查詢或類似的東西。廣告安全性不高。

編輯:ltrim()從左側修剪,rtrim()從右側修剪,trim()修剪兩者。

1

要明確從開始刪除,請使用

ltrim() 

從左側

+0

記住,這也從右側刪除空格:http://php.net/manual/en/function.trim.php – Sgoettschkes 2012-03-10 21:57:00

+0

不是LTRIM()函數。 Onlu的trim()函數。 – yehuda 2012-03-10 21:58:37

+0

對不起,沒有注意到ltrim! – Sgoettschkes 2012-03-10 22:01:55

0

您正在尋找TRIM刪除空白。

0

如果您想從頭開始刪除空格,可以使用函數ltrim。

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

如果你想從開始和結束中刪除空格,你可以使用函數trim。

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