imap subject = "code. 115 is your id"
我尝试使用下面的一个,但是没有用。
$headerInfo = imap_headerinfo($connection);
if (!strpos($headerInfo->subject, "code. $id")) {
echo true
}
$headerInfo = imap_headerinfo($connection);
if (!strpos($headerInfo->subject, "code.$id")) {
echo true
}
我该如何获取?
答案 0 :(得分:1)
您可以使用正则表达式$id
提取capture group
。
<?php
$id = getId('imap subject = "code. 115 is your id"'); // is 115
$id = getId('imap subject = "code.115.00 is your id"'); // is 115
function getId($subject) {
$r = [];
if (preg_match("/code\. ?([0-9]+)(\.00)? is your id/", $subject, $r)) {
return $r[1];
}
else {
throw new Exception("Couldn't match subject");
}
}
现在,您只需要检查此$id
是否是您的ID:)
$id = getId($headerInfo->subject);
if ($id == '119')
答案 1 :(得分:1)
strpos
将返回0,因为code
在字符串的开头。使用!
之类的宽松比较时,0的计算结果为false。您需要做的是确保它没有对false的严格评估:
if (strpos($headerInfo->subject, "code. $id") !== FALSE) {
echo true;
}