2014-10-20 202 views
1

我正在处理电子邮件解析脚本并存在一些问题。当电子邮件正在被转发时,它将电子邮件标题插入邮件正文中,例如From,To,Sent,Subject。我试图剥离它,但它不是剥离。我尝试了一些方法,但没有运气。有什么建议么?如何从邮件正文中删除电子邮件标题

// PHP

$message = str_replace("/^From: (.*)/", "", $message); 
$message = str_replace("/^To: (.*)/", "", $message); 
$message = str_replace("/^Subject: (.*)/", "", $message); 

我也已经尝试$消息= str_replace函数( “发件人:$从”, “”,$消息); //从头获取$。

+0

你可以粘贴你正在使用的字符串('$ message')吗? – Rasclatt 2014-10-20 00:41:26

+0

另外,你可能想要做一个'preg_replace()'而不是你想要做的'str_replace()' – Rasclatt 2014-10-20 00:42:47

回答

1

我不知道你是否仍然有这个问题,但你应该使用preg_replace函数(或preg_replace_all如果你正在尝试找到多个事件)。您的代码应该是这样的:

preg_replace("/^From: (.*)/", "", $message, $from); 
    preg_replace("/^To: (.*)/", "", $message, $to); 
    preg_replace("/^Subject: (.*)/", "", $message, $subject); 

当你试图输出变量使用的打印(R)功能:

print_r($from, true); 
    print_r($to, true); 
    print_r($subject, true); 

它可能会出来作为一个多维数组,你可以回显数组中的响应。

echo $from[1][0]; // It may be in a different array location.  
    echo $to[1][0]; // It may be in a different array location.  
    echo $subject[1][0]; // It may be in a different array location.  

您可能需要调整阵列位置([1] [0])以输出正确的数据。希望这可以帮助。

相关问题