0

pnotepadには、正規表現の置換機能があります。

私がやりたいのは、POST変数内のすべてのスペースをアンダースコアに置き換えることです。

たとえば、という名前の投稿変数があるとし$_POST['Apples And Pears']ます。

私はそれをに変えるために正規表現の置き換えを理解しようとしてい$_POST['Apples_And_Pears']ます。

すべてのスペースでこれを行う方法は知っていますが、POST変数内にのみあるスペースはわかりません。

この操作を実行する必要があるPHPファイル内にたくさんのPOST変数があるため、これが必要です。

4

1 に答える 1

2

pnotepadの構文についてはよくわかりませんが、一見すると、pnotepadはPCREに準拠しているように見えるので、次のように置き換えます。

((?<=\$_POST\[[^[]*) )

これとともに:

_

(最後にスペースを表示するためだけに、不要な括弧のセットを追加しました。)

これは、「私がスペース文字であり、私の後ろに、[が前に付いた非文字の文字列がある場合は、$_POST[私を置き換えてください」と言う前向きな後読みアサーションを使用します。

これが機能しない場合、問題はおそらく、多くのエンジンと同様に、pnotepadが任意の長さの後読みアサーションをサポートしていないことです。その場合、これを置き換える必要があります。

(?:(\$_POST\[[^[]*) )

これとともに:

$1

交換ができなくなるまで、手動で何度も交換を続けます。

于 2012-10-05T03:09:43.953 に答える