如何从输入表单提交中删除空格

JLW*_*sUK 0 php forms submit

所以我有一个输入表单,用户将在其中输入用户名,提交后,站点将根据用户名收集信息,但是,如果用户名中有空格,则用户名将变为无效(不存在)。我将如何在 PHP 中添加消除任何和所有空格的行为,以便最终提交的用户名不是john doe,而是johndoe.


这是我的表单代码:

<form action="php.php" method="GET">
  <div class="form-group">
    <label for="username">Username:</label>
    <input type="text" class="form-control" id="username" name="username" placeholder="Enter username" required>
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

这是php.php文件代码:

//I GUESS THIS IS WHERE THE TRIMMING SHOULD HAPPEN?
<?php
//error_reporting(E_ALL & ~E_NOTICE);
// Load the username from somewhere
if (
$username = $_GET["username"]
) {
    //do nothing 
} else {
    //$username = "notch";
  echo "Oops! Something went wrong!";
}
?>
Run Code Online (Sandbox Code Playgroud)

Ana*_*Die 5

1.如果您正在谈论前导或尾随空格,请使用trim()函数。

$username =trim($username);
Run Code Online (Sandbox Code Playgroud)

2但是,如果您谈论的是中间空格,那么请使用preg_replace():-

$username = preg_replace('/\s+/', ' ', $username);
Run Code Online (Sandbox Code Playgroud)

3你也可以搭配str_replace():-

$username = str_replce(' ','',$username);
Run Code Online (Sandbox Code Playgroud)

注意:-$username是您将要使用的用户名。

您也可以将第一个与第二个或第三个合并以获得完全干净的用户名,而无需引导尾随和中间空格。像这样:-

$username = trim(preg_replace('/\s+/', ' ', $username));
Run Code Online (Sandbox Code Playgroud)