我对js比较新,所以想要一些帮助,
我有一个在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左右
抵达:纽约约翰肯尼迪机场(肯尼迪机场)20:05
或者如果不容易这样做,那么至少在没有格式化但没有标签的情况下显示
10月9日星期一 - DY 7015
出发:伦敦盖特威克机场(LGW)于17:05左右
抵达:纽约约翰肯尼迪机场(肯尼迪机场)20:05
有什么想法吗?
答案 0 :(得分:1)
您可以尝试使用此正则表达式删除HTML标记:/<\/?[a-zA-Z]+\/?>/g
所以,这应该有效:
$(element).html().replace(brRegex, "\r\n").replace(/<\/?[a-zA-Z]+\/?>/g, '')
希望这有帮助!