は、この正しいですか?私はそれが単一の文字を見つけるためのするpreg_match条件の問題
if ((strlen($nick_2) >= 3) && (strlen($nick_2) <= 25) && (!preg_match("/\"/", $nick_2)) && (!preg_match("/ñ/", strtolower($nick_2)))) {
は、この正しいですか?私はそれが単一の文字を見つけるためのするpreg_match条件の問題
if ((strlen($nick_2) >= 3) && (strlen($nick_2) <= 25) && (!preg_match("/\"/", $nick_2)) && (!preg_match("/ñ/", strtolower($nick_2)))) {
を動作させることができません、正規表現は、大規模なやり過ぎです。ただ、
if ((strpos('"', $nick_2) !== FALSE) || (strpos('ñ', $nick_2) !== FALSE)) {
... chars were found
}
trueの場合はcharsが見つかりませんでしたか? – Zuker
文字が見つからない場合、strposはbooleanを返します。 charが文字列の先頭にある場合は0を返すこともできます。これはfalseとして扱われるため、strict inequality check(!==)を使用する必要があります。 –
だから私は===を使用する必要があります。なぜなら、真の文では文字が見つからなかったからです。 私は\t \t \t \t \t \t \t \t 持っていれば((strpos( '"'、$ nick_2)=== FALSE)&&(strpos( 'N'、strtolower($ nick_2))=== FALSE )){ ... chars not found } – Zuker
を使用おそらく、あなたの文字列が、その場合には、あなたがpreg_match
でu
修飾子を使用する必要がありますし、その関数のALSへのあなたの表現を提出する必要があり、UTF-8でありますo UTF-8でその場合は
、あなたはまた、これらの事のいくつかをしたいでしょう:
mb_
選択肢でstrtolower
とstrlen
を交換してください。
それは私のためにうまくいきます。たぶん問題は別の場所にあるのでしょうか? –