2017-09-23 127 views
0

我是比较新的js的所以想一些帮助,的Javascript复制到剪贴板,包括HTML格式文本

我有它在PHP中产生的一种形式。我希望用户能够点击一个按钮,飞行结果复制到剪贴板,

我有以下的javascript函数:

<script> 

function copyToClipboard(element) { 
var $temp = $("<textarea>"); 
var brRegex = /<br\s*[\/]?>/gi; 
$("body").append($temp); 
$temp.val($(element).html().replace(brRegex, "\r\n")).select(); 
document.execCommand("copy"); 
$temp.remove(); 
} 

</script> 

然而,当您粘贴的结果我得到了以下可见格式标记:

<b>Mon 09 Oct - DY 7015 </b> 
Depart: London Gatwick Airport, (LGW) at 17:05 
Arrive: John F Kennedy Airport, New York (JFK) at 20:05 

我想要的结果输入是

周一10月9日 - DY 7015
出发:伦敦盖特威克机场(LGW)在17:05
到达:约翰·F·肯尼迪机场,纽约(JFK)在20:05

,或者如果这是不可能轻易,那么至少是显示不格式化,也没有标签

周一10月9日 - DY 7015
出发:伦敦盖特威克机场(LGW)在17:05
到达:约翰·F·肯尼迪机场,纽约(JFK)20: 05

有什么想法?

回答

1

你可以试试这个正则表达式来删除你的HTML标签:/<\/?[a-zA-Z]+\/?>/g

所以,这应该工作:

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

希望这有助于!