尝试使用php实现autosuggest。使用awk生成的自动提示列表
$input= $_GET["term"];
$suggest=array();
exec('awk \'BEGIN{FS=","}/.$input./{print $2,"-cost-",$1}\' 3.txt',$suggest);
echo json_encode($suggest)
代替$ input来测试autosuggest我正在使用charachrecter eg.A,工作正常。但是我无法将动态角色作为awk的输入。有些事情错了。$ input。无法弄清楚如何编写转义字符
提前致谢
答案 0 :(得分:1)
打开
exec('awk \'BEGIN{FS=","}/.$input./{print $2,"-cost-",$1}\' 3.txt',$suggest);
分为:
exec('awk \'BEGIN{FS=","}/'.$input.'/{print $2,"-cost-",$1}\' 3.txt',$suggest);
您忘记终止第一个'
,这是必需的,因为您无法在单引号字符串中扩展变量。
附注:正如评论中所指出的,您可能需要三思而后行,盲目地接受GET
参数作为shell命令,而不进行某种安全检查。用户可以而且很快就会找到利用这个漏洞的方法......