我在 Unix 上有一个使用 PHP 获取的 SQL 文件,从头到尾将其剪切,然后textarea
使用 AJAX 将其返回。该文件是:
Set LINESIZE 1000
set timing on
set FEEDBACK off
SET PAGESIZE 50000
set COLSEP |
set trim on
set RECSEPCHAR ~
select * from tbvalid_value where discrete_code like '% %' and DISCRETE_CODE != 'U - Unreturned and billed'
;
exit;
在exit;
我有另一个空行之后。
我要返回的只是 select 语句:
select * from tbvalid_value where discrete_code like '% %' and DISCRETE_CODE != 'U - Unreturned and billed'
为此,首先我用这个函数切掉前 8 行:
function str_chop_lines($str, $lines = 8) {
return implode("\n", array_slice(explode("\n", $str), $lines));
};
$sql = str_chop_lines($sqlString);
这削减了所有的Set
语句和空白的第 8 行。
然后,我想摆脱字符串的最后一部分(从;
到exit;
)。为此,我正在使用这个:
$finalSql = substr($sql, 0, strpos($sql, ';'));
但是当我将字符串返回到客户端textarea
时,我在它的末尾得到了 4 个空行,如图所示(我添加了红线来说明 4 个空行):
我尝试用不同的方法修剪这些线条:
$sqlReturnByAjax = substr($finalSql, 0, strrpos($finalSql, "\n"));
$sqlReturnByAjax = str_replace('/n/n', '/n', $finalSql);
$sqlReturnByAjax = rtrim($finalSql);
但这些都不起作用。
我错过了什么?