我使用正则表达式执行查找并替换为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)
我最终得到了这个:
$email=htmlspecialchars(mysql_real_escape_string($_POST['email']);
$name=htmlspecialchars(mysql_real_escape_string($_POST['name']));
正如您所看到的,它只修复了最后一个实例(这是因为find函数从$ _POST ['email']一直选择两行到$ _POST ['name'])。有想法该怎么解决这个吗?谢谢!
答案 0 :(得分:1)
添加问号以使其不贪婪。此外,您需要转义要匹配的[和]字符。
Find: \$_POST\['([^<]*?)'\]
Replace: $_POST['$1'])
或者,或者,用户是'字符而不是&lt;与引号中的值匹配的字符:
Find: \$_POST\['([^']*)'\]
Replace: $_POST['$1'])