我正在使用preg_match将条件放在行上,在循环中处理。 这是我的代码:
$import = 'LT_VALUES2';
$contents = explode('-',$import,2);
$line = 'DATA LT_VALUES2 TYPE TABLE OF RGSB4 WITH HEADER LINE,';
if(preg_match('/(DATA $import)/i',$line) == 0 && preg_match("/($import\b|$contents[0]\W)/i",$line) == 1 && preg_match("/[']/",$import) == 0 && preg_match("/(\D)/",$import) == 1)
{
它无缘无故地到达
}
为什么它没有处理我提供的条件?我在phptester.net测试了相同的代码,它按照我想要的方式工作
答案 0 :(得分:1)
单引号字符串不会插入变量,这可能是您期望它做的。
'/(DATA $import)/i'
字面上是/(DATA $import)/i
。
另一方面;
"/(DATA $import)/i"
将插入/(DATA LT_VALUES2)/i