我有一个将消息正文写入数据库的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