正则表达式PHP获取单词之间的内容

时间:2011-09-13 00:15:48

标签: regex preg-replace preg-match

试图了解正则表达式如何在php中运行,从而绞尽脑汁。

我试图在半冒号后但在下一个关键字开始之前获取信息

这是我的文本,我已经设法使用正则表达式首先删除html。

  

标题:2012款宝马M5概念车位置:慕尼黑 - 德国   参考文献:091评论:25年来,迷人的组合   高级鞋面体验到的极致驾驶舒适性   midrange来自:Jim Smith jim@jimsemail.com.au 0987541231

上面的文字只是一个例子,但与我的文字完全相同。

我需要的是:

  1. Title = 2012 BMW M5 Concept

  2. 地点=慕尼黑德国

  3. 参考= 091

  4. 评论= 25年来,优质中高端体验的极致驾驶舒适性的迷人组合

  5. From = Jim Smith jim@jimsemail.com.au 0987541231

  6. 最后一个结果 5。来自:我总是可以写一些额外的东西来提取电子邮件,但如果有人可以帮助提取姓名和电话号码,这可能并不总是那么多位数我将非常感激: )

    到目前为止,我已成功获得推荐号:

    if (preg_match("/Reference:[0-9]{3}/", $decodedmessage, $matches_id)) 
    { 
    echo "Reference=".preg_replace("/Reference:/","",$matches_id[0]); 
    }
    

    提前致谢 强尼

1 个答案:

答案 0 :(得分:0)

以下是您可以使用的一些代码:

preg_match_all('/(\w+):([^:]+)(?=\s)/', '{{your data}}', $arr);

输出如下:

Array
(
    [0] => Array
        (
            [0] => Title:2012 BMW M5 Concept
            [1] => Location:Munich - Germany
            [2] => 091Comments:For 25 years now, the fascinating combination of supreme driving comfort experienced in a premium upper
            [3] => midrangeFrom:Jim Smith jim@jimsemail.com.au
        )

    [1] => Array
        (
            [0] => Title
            [1] => Location
            [2] => 091Comments
            [3] => midrangeFrom
        )

    [2] => Array
        (
            [0] => 2012 BMW M5 Concept
            [1] => Munich - Germany
            [2] => For 25 years now, the fascinating combination of supreme driving comfort experienced in a premium upper
            [3] => Jim Smith jim@jimsemail.com.au
        )

)