-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」

結果: 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 に答える