ホームページ >バックエンド開発 >PHPチュートリアル >PHP が GET、POST、COOKIE 変数名のドットをアンダースコアに置き換えないようにするにはどうすればよいですか?
PHP: GET、POST、COOKIE 名の文字置換を防止する
PHP は、受信変数名のドットを自動的にアンダースコアに置き換えます。この動作は場合によっては望ましくない場合があります。どうすれば無効にできますか?
PHP がドットを置き換える理由
PHP.net によると、ドットは変数名で有効な文字ではありません。パーサーは、「varname.ext」を、「varname」という名前の変数の後に連結演算子と文字列「ext」が続いたものとして解釈しますが、これは意図した結果ではありません。
Alternatives
この動作を防止しようとしているにもかかわらず、PHP の解析メカニズムにより、この動作が必要になります。ただし、これを回避する方法があります:
$_POST['x.y'] = str_replace('_', '.', $_POST['x_y']);
RewriteEngine On RewriteRule .* - [E=DOT:_]
以上がPHP が GET、POST、COOKIE 変数名のドットをアンダースコアに置き換えないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。