2017-09-24 51 views
1

希望對於知道Javascript比我更好的人來說,這非常簡單。將內容發送到使用Javascript的電子郵件時刪除HTML格式

我有一個按鈕,發送一個div標籤的內容以電子郵件,

其背後的JS是一個相當簡單

function doMailTo(addr) { 
location.href = "mailto:"+addr+"?subject=Flight Itinerary&body="+document.getElementById('p3').innerHTML; 
} 

這將內容發送到電子郵件然而HTML格式是包括在內,而電子郵件看起來真的很凌亂(以下是電子郵件的正文內容):

<b>Sat 21 Oct - Flybe 6350 </b><b>- 0h 50m</b><br>Depart: Jersey Airport, (JER) at 07:00<br>Arrive: Southampton Airport, (SOU) at 07:50 <br><br> 

時,我希望它看起來像這樣:

週六10月21日 - 6350的Flybe - 0H50米
出發:澤西島(JER)07:00
到達:南安普敦機場(SOU)在07:50

我知道,我要刪除的

<b> & </b> 

而且

<br/> 

替換爲

\r\n 

但我不知道如何在JS這個工作,我已經試過的許多之下許多變化,

(replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, '')) 

但我不能工作,如何放入上述功能,以便它能正常工作,

任何人都可以幫忙嗎?

謝謝!

+1

爲什麼不使用'的document.getElementById( 'P3')。textContent'(或'innerText')呢? – haim770

+0

我確實嘗試過,但是我需要換行符以保持文本超過三行,並且.textContent文本保留在一行上, – willmadd

回答

0

因爲文字是上三線,你需要得到的textContent代替的innerHTML後使用encodeURI():使用的textContent節省你更換不需要的項目

  • 是encodeURI需要正確編碼的新

    • 線字符。

    function doMailTo(addr) { 
     
        location.href = "mailto:" + addr + "?subject=Flight Itinerary&body=" + 
     
          encodeURI(document.getElementById('p3').textContent); 
     
    } 
     
    
     
    doMailTo('[email protected]');
    <div id="p3"> 
     
        <b>Sat 21 Oct - Flybe 6350 </b><b>- 0h 50m</b><br> 
     
        Depart: Jersey Airport, (JER) at 07:00<br> 
     
        Arrive: Southampton Airport, (SOU) at 07:50<br><br> 
     
    </div>

  • 相關問題