Я создаю элемент mailto HTML в своей программе PHP, и построенный код выглядит следующим образом:
<a href="mailto:some.one@some.where.com
?Subject=CA-7%20graphing%20tool%20error report
&body=Problem with graph http://mcz:51019/noSecurePhp/graphBuildTest.php?startJobname=PE2300DY&endJobnames=&jobMask=&collapseJobnames=&searchDepth=1&schedId=001&custSchedule=&cpColour=%23ffff00&cpStartEndColour=%23ff0000&grpBySuite=on&maxNodes=500&ranksep=0.5&nodesep=0.25&layout=dot&splines=spline&rankDir=TB&graphStyle=Full&bgColour=%23a8a8a8&nodeColour=%23ffc68c&fontColour=%23000000&nodeStyle=filled&penWidth=3%20Issue description :" target="_blank" class="btn btn-danger">Send Bug report</a>
Кнопка выглядит нормально, а URL-адрес отображается в статусе Панель, когда я наводил на нее курсор, выглядит нормально, хотя '&' отображается как '&', т.е. URL-адрес выглядит правильно.
Когда я нажимаю кнопку, я получаю новое электронное письмо с правильным адресом и темой, но тело просто:
Problem with graph http://mcz:51019/noSecurePhp/graphBuildTest.php?startJobname=PE2300DY+
т.е. отрезано по первому '&'.
Вот код, который создает элемент mailto (NL - это просто «
\ n» ):
function createBugbutton() {
$invokingUrl = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$invokingUrl = str_replace(["&", "#", " "], ["&", "%23", "%20"], $invokingUrl);
$emailBody = "Problem with graph ".$invokingUrl.NL.NL."Issue description :";
$emailLink = '<a href="mailto:some.one@some.where.com
?Subject=CA-7%20graphing%20tool%20error report
&body='.$emailBody.'"
target="_blank" class="btn btn-danger"
>Send Bug report</a>';
echo $emailLink;
}
Я скопировал сгенерированный HTML в пустой HTML файл, и он ведет себя точно так же, поэтому я не думаю, что это PHP вещь.
Что я делаю не так?
Изменить: после комментариев и ответов мой сгенерированный HTML теперь:
<a href="mailto:some.one@some.where.com
?Subject=error report
&body=Problem with graph http://mcz/graphBuildTest.php?startJobname=PE2300DY&26;endJobnames=fred<br>
Issue description :" target="_blank" class="btn btn-danger"
>Send Bug report</a>
, но даже это скопировано в файл. html для создания электронного письма, тело которого снова останавливается после "PE2300DY"
Новое редактирование:
Работа в соответствии с принятым ответом - всем спасибо.