我遇到了这个非常奇怪的问题,我似乎无法弄明白。
我有一个脚本可以读取电子邮件并从电子邮件中获取用户名和链接(或多个链接)并将其放入数组中。由于某种原因,链接不断被切断,因为“=”由于某种原因不断添加。当我在电子邮件中执行字符串替换时,在执行正则表达式之前,它不会替换“=”。知道这个问题可能是什么?
以下是电子邮件示例:
@bill
http://techcrunch.com/2012/07/20/kickstarter-flashr-wants-to-make-the-iphones-bezel-a-massive-notification-light/?grcc=88888Z0ZwdgtZ0Z0Z0Z0Z0&grcc2=835637c33f965e6cdd34c87219233711~1342828462249~fca4fa8af1286d8a77f26033fdeed202~510f37324b14c50a5e9121f955fac3fa~1342747216490~0~0~0~0~0~0~0~0~7~3~
当我回复消息的正文时,我得到了:
--00248c6a671acfdb9c04c558d753 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable @bill http://techcrunch.com/2012/07/20/kickstarter-flashr-wants-to-make-the-iphon= es-bezel-a-massive-notification-light/?grcc=3D88888Z0ZwdgtZ0Z0Z0Z0Z0&grcc2= =3D835637c33f965e6cdd34c87219233711~1342828462249~fca4fa8af1286d8a77f26033f= deed202~510f37324b14c50a5e9121f955fac3fa~1342747216490~0~0~0~0~0~0~0~0~7~3~ --00248c6a671acfdb9c04c558d753 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable @bill
注意破坏链接的“=”。 我的正则表达式产生:
Array ( [0] => http://techcrunch.com/2012/07/20/kickstarter-flashr-wants-to-make-the-iphon= [1] => http://techcrunch.com/2012/07/2= [2] => http://techcrunch.com/2012= )
当我复制并粘贴字符串并通过字符串替换运行它时它会替换“=”
知道发生了什么事吗?
由于
答案 0 :(得分:2)
文本采用名为“Quoted Printable”的编码。首先将其解码为普通文本:
http://php.net/manual/en/function.quoted-printable-decode.php