PHP:无效字符串不允许我正确比较
由于某种原因,数组中产生了一个非常奇怪的字符串,我不知道如何处理它。。。我获取字符串并用以下代码输出:PHP:无效字符串不允许我正确比较,php,imap,Php,Imap,由于某种原因,数组中产生了一个非常奇怪的字符串,我不知道如何处理它。。。我获取字符串并用以下代码输出: $server = '{imap.gmail.com:993/ssl}'; $connection = imap_open($server, 'myuser', 'mypass'); $count = imap_num_msg($connection); $header = imap_headerinfo($connection, $i); for(
$server = '{imap.gmail.com:993/ssl}';
$connection = imap_open($server, 'myuser', 'mypass');
$count = imap_num_msg($connection);
$header = imap_headerinfo($connection, $i);
for($i = 1; $i <= $count; $i++) {
$from = $header['fromaddress'];
var_dump($from);
}
这怎么可能?有没有办法把它转换成正确的字符串(我是说,长度正确?)
这会影响我的代码,因为现在:
echo ('Support Testing1' == $from)
给我虚假,当它应该是真实的。有什么想法吗?谢谢
更新:修剪也不起作用。尝试:
$from = trim($header['fromaddress']));
两端可能有隐藏的空白字符。错误的长度可能是编码问题 尝试:
我最好的猜测是,
$header['fromaddress']
实际上类似于
"Support Testing1" <blah@example.com>
“支持测试1”
您在var转储中看不到电子邮件地址,因为浏览器将其视为HTML标记
如果是这样,那么您需要删除
,可能还需要删除双引号
您可以尝试查看源HTML以进行确认。是否修剪($header['fromaddress'])==$header['fromaddress']]?能否从代码中提供更多信息?此问题的背景是什么?看起来它与php邮件脚本有关?trim不起作用。。。我用更多信息更新了代码!谢谢“发件人”不应该是电子邮件地址吗?它看起来是一个电子邮件别名。
var_dump( utf8_decode( $header['fromaddress'] ) );
"Support Testing1" <blah@example.com>