-1

我有以下 HTML 代码:

    <form method="post" action="">
    <b>Name: <input type="text" name="username" size="20" />
    <input type="submit" value="Login" name="login" />
    </form>

和:

    <?php
    if(isset($_POST['login'])){
    $check = $_POST['username'];
    ?>

每当用户提交他的用户名时,用户应该会收到他的用户名,但需要进行以下修改:

1) *空间条将替换为“_”

2) *所有字母将变为非大写字母。

示例:用户名:“我喜欢冰淇淋”

结果:i_like_icecream

该消息应通过回显作为变量显示给用户。

    echo "$result";

我正在考虑用 preg_repalce 来做这件事,但由于我对它不太熟悉,所以并没有真正做到。任何帮助都会得到帮助。

4

1 回答 1

0

preg_replace() 太强大了,但是对于这个任务来说太贵了。您需要更改的模式是恒定的,因此您最好使用 str_replace() 和 mb_strtolower()

$encoding = 'UTF-8';                     // optional
$name = $_POST['usernamename']         
$name = str_replace(' ', '_', $name);  
$name = mb_strtolower($name, $encoding); // or $name = mb_strtolower($name); if you don't specify encoding
于 2013-02-17T01:10:24.673 回答