我正在解析一个邮件头,并且正在寻找“boundary = ...”参数。preg_match问题(不像我预期的那样解析)
$content = '..Content-Type: multipart/alternative;
boundary="----=_NextPart_000_10CD_01CD3CB2.7C22E7C0"
X-Mailer: Microsoft CDO for Windows 2000..'
我用以下,但他们没有工作:
$boundary = preg_replace('#(.*)boundary="(.*)"(.*)#is',"$2",$content);
$boundary = preg_replace('#boundary="(.*)"#i',"$2",$content);
第一行返回:
NextPart_000_10CD_01CD3CB2.7C22E7C0"
X-Mailer: Microsoft CDO for Windows 2000
,而第二个:
Content-Type: multipart/alternative;
----=_NextPart_000_10CD_01CD3CB2.7C22E7C0
X-Mailer: Microsoft CDO for Windows 2000
我明白第二行是什么,并且它做正确的。但是,我不明白,第一行不解析第二个双引号。任何想法?
你想要做什么,使用preg_match匹配还是使用preg_replace替换?你在混合它。 – Jeroen
我不是真的用它替换,而是用于匹配,我猜 – capsula
你的问题真的让我意识到我不得不使用preg_match,我的坏:preg_match('#boundary =“(。*)”#i',$内容,$米); – capsula