从表单接收数据并使用preg_replace修改它

时间:2013-02-17 00:36:42

标签: forms preg-replace

我有以下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)* Sapce bar将替换为“_”

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

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

结果: i_like_icecream

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

    echo "$result";

我正在考虑使用preg_repalce进行此操作,但由于我不熟悉它,所以没有真正设法。任何帮助都会得到满足。

1 个答案:

答案 0 :(得分: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