的Javascript复制到剪贴板,包括HTML格式文本
问题描述:
我是比较新的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
有什么想法?
答
你可以试试这个正则表达式来删除你的HTML标签:/<\/?[a-zA-Z]+\/?>/g
所以,这应该工作:
$(element).html().replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, '')
希望这有助于!