【问题标题】:How to remove spaces from input form submit [duplicate]如何从输入表单提交中删除空格[重复]
【发布时间】:2015-07-20 16:34:18
【问题描述】:

所以我有一个输入表单,用户将在其中输入用户名,提交后,网站将根据用户名收集信息,但是,如果用户名中有空格,则用户名无效(不存在) .我将如何在 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!";
}
?>

【问题讨论】:

标签: php forms submit


【解决方案1】:

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

$username =trim($username);

2 但是如果你说的是中间空格,那么就用preg_replace():-

$username = preg_replace('/\s+/', ' ', $username);

3你也可以选择str_replace():-

$username = str_replace(' ','',$username);

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

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

$username = trim(preg_replace('/\s+/', ' ', $username));

上面有一点错别字,但是stackoverflow中的编辑必须至少有6个字符,所以我把那些无意义的词写成了……

【讨论】:

    【解决方案2】:

    使用字符串替换函数将字符串中出现的所有空格替换为空字符串(无):

    $string = 'My Name';
    $noSpaces = str_replace(' ', '', $string);
    echo $noSpaces; // echos 'MyName'
    

    【讨论】:

    • 所以,就我而言,我会简单地做$username = str_replace(' ', '', $string); ?
    • 是的,$username 现在将不包含空格
    • 是的。谢谢,大功告成!将在 4 分钟内标记,因为那时我也可以!
    猜你喜欢
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 2011-12-12
    • 2019-02-05
    • 2012-07-19
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    相关资源
    最近更新 更多