我想读取文本块的最后一行,例如:
大小250 - 31457280
250-AUTH LOGIN CRAM-MD5
250 OK
这是我当前的代码-它只读取第一行:
if (substr(trim($res), 0, 3) != "250") {
给出输出
大小250 - 31457280
我想要得到最后一个
250 OK
(中间没有空白行,这是我的复制粘贴问题)。任何想法?
我认为$res = '250-SIZE 31457280 250-AUTH LOGIN CRAM-MD5 250 OK'
正确吗?
如果是,那么下面的语句应该可以满足你的目的:
$last_set = substr($res, (strlen(trim($res)) - 6), strlen(trim($res)));
这将输出250 OK
从try
获取最后一个"250"$string="250-SIZE 31457280 250-AUTH LOGIN CRAM-MD5 250 OK"
echo substr($string, strlen($string)-6, 3)
您可以将结果扩展为"'n"并取数组的最后一个元素
$arr = explode("'n",$res);
$lastone = $arr[count($arr)-1];
替换换行符如果在您的系统中有所不同,但在我的经验中应该没问题
如果你想知道250 OK是否出现在末尾,你可以尝试将你寻找的字符串和你搜索的字符串都反转(否则你将不得不输入查找KO 052,这很难阅读)
if (strpos(strrev($res), strrev('250 OK')) === 0) // 0 since it should be at start, but not false
{
... do things
}