2010年5月14日 星期五

Php 抓取 sql order 的正規式

這樣就可以了~ 記起來懶得在寫一次!

$sql = 'SELECT * FROM `epc_user` GROUP BY userID ORDER BY `userNo` ASC,xxx DESC limit 0,30';
preg_match('/order\s+by\s+(.*?)\s?(limit|$)/i', $sql, $matches);
print_r($matches);

Array (
[0] => ORDER BY `userNo` ASC,xxx DESC limit
[1] => `userNo` ASC,xxx DESC
[2] => limit )

【下列文章您可能也有興趣】

2 則留言:

和風信使 提到...

來留下一點自己的看法
使用以下的敘述應該會比較符合吧
/order\s+by\s+(.*?)(?=\slimit|$)/i

千江有水千江月 提到...

很感謝你的意見.