PHP:无效的字符串不让我比较正确
问题描述:
真的很奇怪的字符串正在出于某种原因在数组内生成,我不知道如何处理它...我得到字符串并输出它与下面的代码:PHP:无效的字符串不让我比较正确
$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);
}
这是结果我从得到的var_dump:
string(39) "Support Testing1"
这怎么可能?而且是有这影响了我的代码什么办法可以将其转换成正确的字符串(我的意思是,用正确的长度?)
,因为现在:
echo ('Support Testing1' == $from)
给了我假的,当它应该是真实的。有任何想法吗?谢谢!
更新:修剪也不起作用。
答
我最好的猜测是,$header['fromaddress']
真的像
"Support Testing1" <[email protected]>
而且你看不到的电子邮件地址在var转储,因为浏览器将它像一个HTML标记。
如果是这样,那么你需要删除<...>
,也可能是双引号。
您可以尝试查看源HTML来确认。
答
错误的长度可能是编码问题!
尝试:
var_dump(utf8_decode($header['fromaddress']));
'trim($ header ['fromaddress'])== $ header ['fromaddress']'? – greg0ire
你可以从你的代码中多提一点吗? – bksi
这个问题的背景是什么?看起来它是关于一个PHP邮件脚本? –