我想從谷歌獲取郵件在imap,我使用imap()函數從PHP IMAP庫,我想對我的郵件內容使用preg_match()調用,但我有一個奇怪的問題,我有好奇的休息線改變了正常的preg_match()。刪除 字符從imap郵件提取
更多細節: 我有我的標記類似的東西:
<TABLE CELLPADDING=5 RULES=GROUPS FRAME=BOX>
<THEAD>
<TR> <TH>Résumé points de classement</TH> <TH>Extérieur</TH> <TH>Domicile</TH> </TR>
</THEAD>
<TBODY>
<TR> <TD>Équipe</TD> <TD>Milan</TD> <TD>Arsenal</TD> </TR>
<TR> <TD>Performance du match</TD> <TD>0</TD> <TD>19</TD> </TR>
<TR> <TD>Étoiles équipe</TD> <TD>0</TD> <TD>0</TD> </TR>
<TR> <TD>Points totaux</TD> <TD>3195</TD> <TD>3273</TD> </TR>
<TR> <TD>Niveau actuel</TD> <TD>22</TD> <TD>22</TD> </TR>
<TR> <TD>Points pour le prochain niveau</TD> <TD>5</TD> <TD>127</TD> </TR>
</TBODY>
</TABLE>
我運行這段代碼來提取身體例如:
<?php
// $message is the previous markup.
$str = substr($message, 321, 10);
var_dump($str);
$str = preg_replace("/ /i","",$str);
var_dump($str);
?>
這段代碼的輸出是:
<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'
&lt;TABLE'</font> <i>(length=13)</i>
</pre>
<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'
&lt;TABLE'</font> <i>(length=13)</i>
</pre>
而提取的值是一個空的數組... ...之後furthe r調查我發現通過var_dump()我的源字符串在每行的末尾有 。 我不知道這個HTML代碼是什麼以及如何刪除它。
如果你能微啓我,我應該心存感激;)
有一個愉快的一天!
編輯: 使用str_replace()它工作!實際上\ 是\ n斷線。所以,魔術是:
$overview = imap_body($inbox,$email_number,0);
$message = utf8_decode(quoted_printable_decode($overview));
$message = str_replace("\n", "", $message);
取出雙引號和替換運行陣列他們用單引號在preg_replace – Ryan 2011-06-10 17:32:53