preg_match_all html文本之间的文本的多个匹配和模式

时间:2013-03-28 04:15:27

标签: php parsing preg-match-all multiple-matches

我正在使用:

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

获取任何'来自:'或者'主题:'除了我的信息没有进入" MESSAGE:"以外,这一切都很好。它出现在$ matches数组中[1] [18]如下:

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

因此我需要一个preg_match_all: 1.给我所有的东西,主题或者你拥有的东西(除非你知道更好的,否则我可以保留当前的模式)。 2.给我html标签之间的文本内容。 **无论如何我只能使用一个preg_match_all来同时使用两种模式搜索吗?**

1 个答案:

答案 0 :(得分:1)

如果消息每次都可靠,只需strip_tags($message);或删除< HTML>< HEAD>< BODY style="background-color:#ffffff">< br>。与str_replace

应该注意的是,这不一定是个好主意,特别是如果开头和结尾的html发生变化。

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

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

var_dump($message);