メールの本文に現在のURLを入力するmailtoリンクを作成しようとしています。私が抱えている問題は、Gmail Androidアプリが%3Dを含む等号を取り除くことです
これが私が使っているコードです。
$currentUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_Host']}{$_SERVER['REQUEST_URI']}";
$currentUrl = str_replace('&', '%26', $currentUrl);
$currentUrl = str_replace('=', '%3D', $currentUrl);
<a href='mailto:?subject=".$emailsubject."&body=".$currentUrl."' class='actions'>Click to Send</a>
Hrefの例
<a href='mailto:?subject=12/12/2019 2L36 Brighton to Lewes&body=https://live.rail-record.co.uk/train/?c%3DW26711%26d%3D12/12/2019' class='actions'>Create Email</a>
デスクトップでは、正常に動作します。モバイルでは、クエリ文字列が途切れ、等号がメール本文に含まれません。
等号をGmailアプリに取得する方法について、誰かがお手伝いできますか?ありがとう。
Mailto本文の例には、次のようなリンクが含まれます。 https://live.rail-record.co.uk/train/?c=H17216&d=11/12/2019 に挿入されたURLただし、電子メールの本文は?c-最初の等号の後に切り捨てられます。デスクトップメールアプリでは問題なく機能しますが、Gmail Androidでは機能しません。上記のリンクについては、下部に「Create Email」と書かれたビットがあり、それをクリックしてテストできます。
Android URLエンコーディングでは不十分です。URLをダブルエンコードする必要があります。URLは正常に機能します(自分で解決します)。
ここでそれをjsで行う方法を見ることができます: javascriptでencodeURIComponentをダブルする方法?