Php substr and trim


Php substr and trim

我想读取文本块的最后一行,例如:

大小

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
}