2012-01-05 19 views
12

私はASP置換のようなPHP置換をしようとしています。関数は空白の値を返します。PHP置換と小文字

$zonename=mysql_real_escape_string($_POST["zonename"]); 
    $zname_clean =""; # blank string 
    $zname_clean = $zonename; # fill string with the post form 
    $zname_clean = str_replace($zname_clean, " ", ""); # remove white space 

これは私のコードです。例Zonenameは "Header Left"になります。大文字を削除し、空白も削除します。

空白を削除して大文字と小文字を変換するにはどうしたらいいですか?

+4

間違ったパラメータの順序 - > http://php.net/manual/en/function.str-replace.phpその@ManseUK – ManseUK

+0

おかげで、私はこのコードを好みます。 – TheBlackBenzKid

答えて

34
// strip out all whitespace 
$zname_clean = preg_replace('/\s*/', '', $zname_clean); 
// convert the string to all lowercase 
$zname_clean = strtolower($zname_clean); 

strtolower()preg_replace()のためのPHPマニュアルを参照してください。

+0

ため – TheBlackBenzKid

+0

ここの正規表現は間違っています。アスタリスクは「0回以上一致」を示していますが、必要なのは「1回以上」と一致する疑問符です。 – pimbrouwers

+0

いいえ、正規表現は問題ありません。私は、最初のチャットだけでなく、空白値をさらに残して、質問ごとにすべての空白を削除したいと思います。 – Treffynnon

5

パラメータの順序が間違っています。これを見てください:http://php.net/manual/en/function.str-replace.php

それは、これを行うための別の方法はstrtolower(trim($zname_clean));

+1

あなたの "別の方法"ではわからない - 文字列の真ん中から余白を削除しないでください – ManseUK

+0

あなたのコードはすべての空白を削除しません。ライン返品はどうですか? – Treffynnon

+0

空白(意味のないスペース)またはすべてのスペース? – OptimusCrime

5

これを試しているstr_replace(" ", "", $zname_clean);

でなければなりません。

$zonename=mysql_real_escape_string($_POST["zonename"]); 
$zname_clean = strtolower(str_replace(" ", "",$zonename)); 
関連する問題