1
我正在使用SQL字符串,並且需要用"SELECT SQL_CALC_FOUND_ROWS"
替換"SELECT"
。因爲我並不總是知道SQL是什麼,所以有可能已經具有SQL_CALC_FOUND_ROWS,所以我需要考慮這種情況,並且在這種情況下不匹配。你可以使用preg_replace正則表達式與「不」條件?
這是我到目前爲止有:
preg_replace('/(^\s+SELECT)/i', 'SELECT SQL_CALC_FOUND_ROWS',$sql);
這將返回: SELECT SQL_CALC_FOUND_ROWS * FROM table
FOR:
"\n SELECT * from table"
OR
"SELECT * from table"
我可以這樣做:
if (! stristr($sql,'SQL_CALC_FOUND_ROWS')) { // do my replacement }
但是,有沒有辦法做到這一點於一身的preg_replace,和/或它更快(我預計這將被廣泛使用)?