0

私はこの非常に奇妙な問題を抱えており、それを理解できないようです。

電子メールを読み取り、電子メールからユーザー名とリンク (または複数のリンク) を取得して配列に入れるスクリプトがあります。何らかの理由で「=」が追加され続けるため、何らかの理由でリンクが切り捨てられ続けます。メールで文字列置換を行うと、正規表現を行う前に「=」が置換されません。この問題は何でしょうか??

メールのサンプルは次のとおりです。

 @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= ) 

文字列をコピーして貼り付け、文字列置換で実行すると、「=」が置き換えられます

何が起こっているのか分かりますか?

ありがとう

4

1 に答える 1

2

テキストは「Quoted Printable」と呼ばれるエンコーディングです。最初に通常のテキストにデコードします。

http://php.net/manual/en/function.quoted-printable-decode.php

于 2012-07-21T16:29:24.743 に答える