我有一个像这样的正则表达式
preg_match("/^\\s*(insert|delete|update|replace|create|drop|alter|use) /i",$query)
这是一个非常古老的功能的一部分,它负责我们网站上我们维护的几乎所有交易(它至少有 8 年历史......)
想象一下,当这个查询在这个正则表达式的测试中失败时,我的惊喜......
"DELETE
FROM KursSmer
WHERE IDKurs = '523' AND
IDSmer = '50' AND
IDSkolskaGodina = '1' AND
JeObavezan = '0'"
我花了大约 1 小时才找到那个讨厌的家伙……但我做到了……第一行末尾有一个 \n 行元素,紧挨着 DELETE 字……就像DELETE\n
现在,我想知道这是否可以纠正?