我有一個將消息正文寫入數據庫的RoundCube插件,之後我需要將數據解析到另一個表中。通過使用RoundCube中的某些功能,我可以刪除所有html標記,並且</td>
被替換爲'\ n',</tr>
替換爲'\ n \ n'。這使我的數據解析非常簡單而且強大。僅存在一個缺點,在端的HTML數據被分成固定線與=
,例如:從html中刪除`= n`
<td valign=3D"bottom" style=3D"color:#444444;padding:5px 10px 5=
px 0px;font-size:12px;border-bottom:1px solid #eeeeee;"><b>Discount</b></td=
><td valign=3D"bottom" align=3D"right" style=3D"color:#444444;padding:5px 0=
px 5px 0px;font-size:12px;border-bottom:1px solid #eeeeee;text-align:right;=
"><b>Price after discount</b></td>
現在,</td=
的沒有得到認可,因此折扣接合到折後價格以下列方式折扣折後價折扣 \ n,而不是折扣 \ n 折後價格 \ n。這是通過代碼的所有方式,並真正導致我嚴重的問題。
我試圖刪除=,並與喜歡的東西打破:
$msg_body = str_replace('=', '', $msg_body);
$msg_body = str_replace('=\n', '', $msg_body);
$msg_body = str_replace('= ', '', $msg_body);
沒有真正的成功。我不知道在=符號後出現了哪種類型的中斷,無論是換行符還是段落符號,並嘗試查找,但徒勞無功,甚至查看了RoundCube代碼。迴應html並沒有透露給我。
我在這裏發佈本作中,希望有人能幫助我簡單地刪除這些等號(=)和神祕的(對我來說)一般的PHP和HTML問題中斷使
</td=
>
成爲
</td>
等
搜索'decode quoted-printable',這就是你想要做的。除了刪除等號和換行符之外,還有更多。 – dldnh 2012-03-25 12:57:41
如果你str_replace('=','',$ msg_body);在str_replace('= \ n','',$ msg_body)之前; 通常不會有更多的= \ n來檢測... – Kharaone 2012-03-25 13:02:11
我一一使用它們,而不是全部3在一次去,但你是正確的,一個必須小心,把不必要的代碼行。 – 2012-03-25 15:10:14