1

寻找答案我在这里找到了这个脚本

然而:

它只能将收到的电子邮件正文作为纯文本发送。为了不丢失数据(链接),我需要以与收到的格式相同的格式发送正文。

这个脚本是否有一个简单的改变来实现这一点?

顺便说一句,稍后,我需要将链接文件(来自电子邮件)保存在我的服务器上,并用我自己的链接替换正文中的链接。

谢谢。

更新

不知何故,我解决了第一个问题(在我的电子邮件中添加原始边界值),现在,我还有 3 个问题要解决。此代码返回 1print_r($urls)

$pattern = '#^http://domain.com/(.*)(\w*)0\b#';
preg_match_all($pattern, $email, $urls);

相同的代码返回具有这两个输出的空数组:

1print_r($urls, true)

2print_r($urls[0], true)

像这样:

1

Array
(
    [0] => Array
        (
        )

    [1] => Array
        (
        )

    [2] => Array
        (
        )

)

2

Array
(
)

但是,当我在这里测试代码时,它就像魅力一样

我怎样才能得到我的价值观?将它们放在变量中会非常好,例如 $url1、$url2...

有人可以帮忙吗?(非常感谢您的时间和精力!)

4

1 回答 1

0

我会回答我的问题。

好的,我已经解决了这个问题。如果有人需要,这里有一些信息......

正则表达式有一个额外的^. 进一步,我改进了这样的模式:"#http://domain.com/([=a-zA-Z\d/-]+)(.|\n|\r)([a-zA-Z\d/-]+)#"This urls have =and that are removed with this line: $var1=preg_replace("#=(.|\n|\r)#","",$var);This is not the best way to go, but it works. 我得到了数组中的链接,后来我能够下载文件,file_get_contents()并且file_put_contents()更改链接很容易str_replace。一切都是用 for 循环完成的,因为每封电子邮件中的链接数量不一样。

祝大家节日快乐!

于 2012-12-31T10:28:26.660 回答