use multimatch::Scanner;
fn main() {
let keywords = multimatch::from_literals(&[
"eval(", "exec(", "system(", "passthru(",
]).expect("compilation failed");
let code = b"<?php eval($input); echo 'safe'; ?>";
let matches = keywords.scan(code);
println!("Found {} dangerous calls", matches.len());
for m in &matches {
let s = std::str::from_utf8(&code[m.start..m.end]).unwrap_or("?");
println!(" '{}' at offset {}", s, m.start);
}
}