修剪功能不是真正的修剪

时间:2011-06-22 08:48:31

标签: php mysql

我正在使用php;我读到如果我要求用户通过表格输入一些关于他自己的信息,那么当我访问该信息时;我应该更好地使用

$var=mysqli_real_escape_string($dbc,trim($_POST['name']));

因为它会删除文本字段中的所有空格和其他不需要的符号,但它真的不是删除空格吗? 救命啊!

4 个答案:

答案 0 :(得分:6)

trim()不会删除所有空格,只删除前导和尾随空格。

答案 1 :(得分:3)

对于Just Spaces,使用$ string = str_replace('','',$ string);删除字符串的所有空格

对于空格,请使用$ string = preg_replace('/ \ s + /','',$ string);

答案 2 :(得分:1)

trim()将从字符串的开头和结尾删除the following

  
      
  1. “”(ASCII 32(0x20)),一个普通的空间。
  2.   
  3. “\ t”(ASCII 9(0x09)),一个标签。
  4.   
  5. “\ n”(ASCII 10(0x0A)),新行(换行符)。
  6.   
  7. “\ r”(ASCII 13(0x0D)),回车。
  8.   
  9. “\ 0”(ASCII 0(0x00)),NUL字节。
  10.   
  11. “\ x0B”(ASCII 11(0x0B)),垂直制表符。
  12.   

另外,正如@Wesley Murch所指出的那样,在注释中,trim也会删除你传递给函数第二个参数的任何字符。 E.g。

$str = 'appHello Worldapp';
$clean_str = trim($str, 'ap'); // as noted by @venimus, use just a single char,
                               // which you want removed
echo $clean_str; // output: Hello World

答案 3 :(得分:0)

尝试:

$var=mysqli_real_escape_string($dbc,str_replace(" ", "", $_POST['name']));