1

正規表現を使用して検索を実行し、dreamweaverに置き換えています。私はいくつかの困難に直面しています。これは私のページにあるものです(文字列の最後に追加の括弧が必要なため、構文エラーがあることに注意してください)。

$email=htmlspecialchars(mysql_real_escape_string($_POST['email']);      
$name=htmlspecialchars(mysql_real_escape_string($_POST['name']);    

私はこれを生成する検索と置換を実行しようとしています:

$email=htmlspecialchars(mysql_real_escape_string($_POST['email']));                                                    
$name=htmlspecialchars(mysql_real_escape_string($_POST['name']));

これは私が検索を実行するために使用しているものです。あまりにも多くのテキストを置き換えているようです($email変数の$_POSTで始まりますが、$name変数の$_POSTまで続きます)

  • 検索:\ $ _ POST ['([^ <] *)']
  • 置換:$ _ POST ['$ 1'])

私はこれで終わります:

$email=htmlspecialchars(mysql_real_escape_string($_POST['email']);      
$name=htmlspecialchars(mysql_real_escape_string($_POST['name']));   

ご覧のとおり、これは最後のインスタンスのみを修正します(これは、find関数が$_POST['email']から$_POST['name']までの両方の行を選択しているためです)。これを修正する方法について何かアイデアはありますか?ありがとうございました!

4

1 に答える 1

1

欲張りでないように疑問符を追加します。また、一致させたい[および]文字をエスケープする必要があります。

Find: \$_POST\['([^<]*?)'\]
Replace: $_POST['$1'])

または、引用符内の値と一致させるために、<文字の代わりに'文字を使用します。

Find: \$_POST\['([^']*)'\]
Replace: $_POST['$1'])
于 2012-12-03T01:50:50.577 に答える