1

我在用:

 preg_match_all("/(.*):\s(.*)\n/i", $email, $matches);

获取任何“发件人:”或“主题:”等。这一切都很好,只是我的消息没有以“消息:”的形式出现。它以 [1][18] 的形式出现在 $matches 数组中,如下所示:

< HTML>
    < HEAD></ HEAD>
    < BODY style="background-color:#ffffff">
        **MY MESSAGE IS HERE**< br>

因此,我需要一个 preg_match_all : 1. 给我所有来自、主题或你有什么(我可以保持当前模式,除非你知道更好的模式)。2. 给我html标签之间的文本内容。** 无论如何我可以只使用一个同时使用两种模式搜索的 preg_match_all 来做到这一点?**

4

1 回答 1

1

如果消息每次都可靠地看起来像那样,只需strip_tags($message);或删除< HTML>< HEAD>< BODY style="background-color:#ffffff">and < br>。和str_replace

需要注意的是,这不一定是个好主意,尤其是如果开头和结尾的 html 发生了变化。

编辑:如果您的信息每次都相同,则稍微优雅一些​​;

$message = substr($message, 54);
$message = substr($message, 0, strpos($message, "< br>---"));

var_dump($message);
于 2013-03-28T04:33:32.807 回答