首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在字符串中查找变量?

如何在字符串中查找变量?
EN

Stack Overflow用户
提问于 2010-09-17 03:08:09
回答 2查看 96关注 0票数 1

我通过电子邮件收到线索,当有人提交一个表单,驻留在一个网站上,我付费做广告。使用PHP,我可以访问我的电子邮件帐户(IMAP),获取和阅读邮件,但我在从电子邮件正文中提取某些信息时遇到了麻烦。我可以分解(\n)主体,但不知道如何提取所需的信息来填充MYSQL插入函数中的变量。

使用explode()后,显示结果如下所示:

主题::ADVERTISINGDOMAIN.COM - RSVP开放查询-列表#839027

收件人::xyzleads@mydomainname.com

马修::ToName

来自::adwebsite@advertisingdomain.com

FromName ::XYZ引线

开放参观的RSVP

清单#:8390279

开放日期:2010年9月3日

姓名:无名氏

电话: 5555555555

电子邮件: johndoe@domain.com

评论:嗨。我将在开放的house...looking前进,以满足您和查看此属性。谢谢。简

EN

回答 2

Stack Overflow用户

发布于 2010-09-17 03:19:54

好的,在每个带有limit的字符串上再次使用explode(),你会得到如下的字段:

代码语言:javascript
复制
$var = explode(':', 'Name: John Doe', 2);

这将为您提供包含字段名称为Name$var[0]和包含值为John Doe$var[1]。现在对每一行执行此操作,然后在查询中使用这些值。

票数 1
EN

Stack Overflow用户

发布于 2010-09-17 03:19:40

如果您使用preg_split,您可以通过:+拆分数据,并将每个部分分开

代码语言:javascript
复制
$str = <<<END
Subjects :: ADVERTISINGDOMAIN.COM - RSVP Open House Inquiry - Listing #839027
To :: xyzleads@mydomainname.com
ToName :: Matthew
From :: adwebsite@advertisingdomain.com
FromName :: XYZ Leads

RSVP for Open House

Listing #: 8390279
Open House Date: Sep 3, 2010
Name: John Doe
Phone: 5555555555
Email: johndoe@domain.com
Comments: Hi. I will be at the open house...looking forward to meeting you and viewing this property. Thanks. Jane
END;

$parts = explode( "\n", $str );

foreach( $parts as $part ) {
    // split by :+ and unlimited spaces
    $data = preg_split( '~[:]+\s*~', trim($part), null, PREG_SPLIT_NO_EMPTY );
    if ( count( $data ) ) {
        $final_data[] = $data;
    }

}
print_r($final_data);

结果是...

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [0] => Subjects 
            [1] => ADVERTISINGDOMAIN.COM - RSVP Open House Inquiry - Listing #839027
        )

    [1] => Array
        (
            [0] => To 
            [1] => xyzleads@mydomainname.com
        )

    [2] => Array
        (
            [0] => ToName 
            [1] => Matthew
        )
...

现在,如果您遍历该数组,您将拥有“变量名”作为每个数组的位置0,而变量数据位于位置1。如果它们不直接与表字段对齐,则可以创建一个将表单字段映射到表字段的数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3729886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档