1

我有一个通过 PHP 动态生成的 WHERE 条件。这是查询的 WHERE 部分的示例

WHERE 1=1 AND (`CATEGORYID`='A1') AND (`BRAND`=:filter_0 OR `BRAND`=:filter_1) 
AND (`KEYWORDS` LIKE :keyword_2) 
AND `TYPE` = '0' AND `DISTRICT`='1' ORDER BY `STARTDAY` DESC

任何人都可以建议一种方法来删除 WHERE 子句的某些部分,例如:从 SQL 中删除 BRAND 部分。

4

1 回答 1

1

假设 PHP 始终保持该输出:

Match:               Replace:
AND \(`BRAND`.*?\)   <nothing>

此正则表达式查找另一个以 (`BRAND` 开头的 AND 的开头,并懒惰地搜索最近的右括号。

在 PHP 中,我相信你会这样做:

preg_replace ( "AND \(`BRAND`.*?\)" , '' , $string);

其中 preg_replace 接受参数(查找、替换、原始)。

于 2013-10-18T14:52:45.180 回答