繁体   English   中英

Dreamweaver正则表达式使用正则表达式查找和替换

[英]Dreamweaver Regex Find and Replace Using Regular Expression

我正在使用正则表达式执行查找并替换为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']的所有行)。 有想法该怎么解决这个吗? 谢谢!

添加一个问号使其不贪心。 另外,您需要转义要匹配的[和]字符。

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

或者,也可以使用一个'字符而不是<字符来匹配引号中的值:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM