我正在整理搜索表单。我想为用户提供使用逻辑运算符进行搜索的选项。搜索查询的示例:
red || ((green && pink))
!red && !green
正在搜索的数据存储在一个数组中。我有几种方法可以通过砍掉搜索字符串来提供这个功能,但我想知道是否有人知道在开始从头开始编写代码之前我可以使用的任何模块?
我还应该提一下,我知道围绕技术的安全问题,但我并不担心SQL注入等,因为这个工具不会出现在面向公众的服务器上。
答案 0 :(得分:2)
使用适当的Lexer或PEG,例如php-peg或PHP_LexerGenerator,可以生成解析和验证语法的代码。
您可能还想查看ANTLRWorks等工具,帮助调试和创建语法。
答案 1 :(得分:0)
您的问题有点模糊,但我认为eval()可以用来轻松解决您的问题,如果您不知道它执行您将其作为字符串提供的代码。