在搜索答案时,我找到了这个脚本here
然而:
它只能以纯文本形式发送收到的邮件正文。为了不丢失数据(链接),我需要以与收到的格式相同的格式发送正文。
这个脚本是否有一个简单的改变来实现它?
btw,稍后,我需要在我的服务器上保存链接文件(来自电子邮件),并用我自己的链接替换正文中的链接。
感谢。
更新
不知何故,我解决了第一个问题(在我的电子邮件中添加原始的boundery值),现在,我还有3个要去。此代码返回1 print_r($urls)
$pattern = '#^http://domain.com/(.*)(\w*)0\b#';
preg_match_all($pattern, $email, $urls);
相同的代码返回带有这两个输出的空数组:
1 print_r($urls, true)
2 print_r($urls[0], true)
1
Array
(
[0] => Array
(
)
[1] => Array
(
)
[2] => Array
(
)
)
2
Array
(
)
然而,当我测试代码here时,它就像魅力一样
我如何获得我的价值观?将它们放在变量中是非常好的,比如$ url1,$ url2 ......
有人可以帮忙吗? (非常感谢您的时间和精力!)
答案 0 :(得分:0)
我会回答我的问题。
好的,我已经解决了这个问题。如果有人需要,这里有一些信息......
正则表达式有一个额外的^
。更进一步,我改进了这样的模式:"#http://domain.com/([=a-zA-Z\d/-]+)(.|\n|\r)([a-zA-Z\d/-]+)#"
此网址有=
,并且已删除此行:$var1=preg_replace("#=(.|\n|\r)#","",$var);
这不是最好的方法,但它有效。我在数组中获得了链接,后来我能够使用file_get_contents()
和file_put_contents()
下载文件,str_replace
可以轻松更改链接。一切都是通过for循环完成的,因为每封电子邮件中的链接数量并不相同。
大家节日快乐!