Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript向电子邮件发送内容时删除HTML格式_Javascript_Html_Email_Replace - Fatal编程技术网

使用Javascript向电子邮件发送内容时删除HTML格式

使用Javascript向电子邮件发送内容时删除HTML格式,javascript,html,email,replace,Javascript,Html,Email,Replace,希望对于比我更了解Javascript的人来说,这是一个非常简单的问题 我有一个按钮可以将div标签的内容发送到电子邮件 它背后的js是一个相当简单的 function doMailTo(addr) { location.href = "mailto:"+addr+"?subject=Flight Itinerary&body="+document.getElementById('p3').innerHTML; } 这会将内容发送到电子邮件,但是包含html格式,并且电子邮件看起来非常

希望对于比我更了解Javascript的人来说,这是一个非常简单的问题

我有一个按钮可以将div标签的内容发送到电子邮件

它背后的js是一个相当简单的

function doMailTo(addr) {
location.href = "mailto:"+addr+"?subject=Flight Itinerary&body="+document.getElementById('p3').innerHTML;
}
这会将内容发送到电子邮件,但是包含html格式,并且电子邮件看起来非常凌乱(下面是电子邮件的正文内容):

但我不知道如何在js中实现这一点,我已经尝试了下面的许多变体

(replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, ''))
(替换(brRegex,“\r\n”)。替换(//g,”)
但是我不知道如何把上面的函数放进去,这样它就可以工作了

有人能帮忙吗


谢谢

因为文本在三行上,所以您需要在获取textContent而不是innerHTML后使用:

  • 使用textContent可以避免替换不需要的项目
  • encodeURI是正确编码新行字符所必需的
功能域(addr){
location.href=“mailto:”+addr+“?主题=航班行程和正文=”+
encodeURI(document.getElementById('p3').textContent);
}
多梅尔托酒店ooo@xxx.uu');

10月21日星期六-Flybe 6350-0小时50米
出发地点:泽西机场(JER),07:00
抵达:南安普敦机场,07:50


因为文本在三行上,所以您需要在获取文本内容而不是innerHTML后使用:

  • 使用textContent可以避免替换不需要的项目
  • encodeURI是正确编码新行字符所必需的
功能域(addr){
location.href=“mailto:”+addr+“?主题=航班行程和正文=”+
encodeURI(document.getElementById('p3').textContent);
}
多梅尔托酒店ooo@xxx.uu');

10月21日星期六-Flybe 6350-0小时50米
出发地点:泽西机场(JER),07:00
抵达:南安普敦机场,07:50


为什么不改用
document.getElementById('p3').textContent
(或
innerText
)呢?我试过了,但是我需要换行符来保持文本在三行以上,而.textContent的文本保持在一行,为什么不使用
document.getElementById('p3').textContent
(或
innerText
)取而代之的是?我确实试过了,但是我需要换行符来保持文本在三行以上,而对于.textContent,文本保持在一行上,
<b> & </b>
<br/>
\r\n
(replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, ''))