所以我有一个用户输入用户名的输入表单,提交后,网站会根据用户名收集信息,但是,如果用户名中有空格,用户名将变为无效(不存在) 。如何在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>
这里是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!";
}
?>
答案 0 :(得分:4)
1。 如果您正在谈论前导或尾随空格,请使用trim()
函数。
$username =trim($username);
2 但是,如果你在讨论中间空格,那么请使用preg_replace()
: -
$username = preg_replace('/\s+/', ' ', $username);
3 您也可以使用str_replace()
: -
$username = str_replce(' ','',$username);
注意: - 此处$username
是您要使用的用户名。
此外,您可以先合并第二个或第三个,以获得完全干净的用户名,而不会使用前导和中间空格。像这样: -
$username = trim(preg_replace('/\s+/', ' ', $username));
答案 1 :(得分:3)
使用String Replace函数将字符串中所有出现的空格替换为空字符串(无):
$string = 'My Name';
$noSpaces = str_replace(' ', '', $string);
echo $noSpaces; // echos 'MyName'