4,251
社区成员
发帖
与我相关
我的任务
分享
$str="SELECT u.id,u.name FROM user as u WHERE u.id=12 ORDER BY u.id DESC limit 10";
echo preg_replace("/^(select ).+? (from .+?)(limit (\d{1,}(\,\d{1,})?))?$/i","\\1 count(*) \\2 limit 1;",$str);
<?php
$str="SELECT u.id,u.name FROM user as u WHERE u.id=12 ORDER BY u.id DESC limit 1,10";
echo preg_replace("/(select ).+? (from .+? limit) [0-9,]+/i","\\1 count(*) \\2 1",$str);
?>