我有一个问题:
我有一个QR码扫描仪,它获得了一个VCard。我得到以下字符串: BEGIN:VCARD VERSION:2.1 FN:John Doe N:doe; john END:VCARD
问题如下:将此信息(通过Javascript)放入textarea或将其转储到警报窗口时,信息之间会中断,如下所示:
BEGIN:VCARD
版本:2.1
FN:John Doe
。
。
点。
但是当把这些信息放入段落(<p></p>
)时,它没有中断,它只是一个普通的字符串。
现在的问题是,我可以将这些中断放入段落中,还是可以在属性之间插入另一个符号或其他内容?
我考虑过将字符串拆分为空白,但它不起作用,因为例如FN
本身也包含空白......
感谢您的帮助。
修改 不幸的是,所有3个建议都不起作用..
我现在拥有以下内容:
function writeqrcodecontent(){
var textfeld = document.getElementById("inhaltvonqrcode");
var wert = $.scriptcam.getBarCode();
//wert.split('\n').join('<br/>');
//wert.replace("\n", "<br>");
//wert.replace(/\n/g,'<br>');
textfeld.innerHTML = wert;
textfeld.style.display="block";
}
但如上所述,所有三个注释掉的行都不起作用,所有内容仍然显示在一行中。
该段落定义为:
<p id="inhaltvonqrcode" style="display:none; clear:both;"></p
我理解你的想法,但我不明白为什么它不起作用......
顺便说一下,我也尝试过像wert.split('\n').join('#');
这样的东西,如果它确实是休息或者它只是不起作用,但是这不起作用,所以文本似乎没有其中\n
..
编辑2
它现在正在工作,我需要一步完成这两个步骤,所以不是
var wert = $.scriptcam.getBarCode();
wert.split('\n').join('<br/>');
但是
var wert = ($.scriptcam.getBarCode()).split('\n').join('<br/>');
感谢您的帮助!
答案 0 :(得分:2)
您获得的字符串可能包含换行符\n
。要使它们在HTML中完整显示新行,您可以在HTML中包装带有<pre></pre>
的所有内容。或者在换行符\n
上拆分,并将其替换为<br />
。
text.split('\n').join('<br />')
答案 1 :(得分:1)
text.replace(/\n/g,'<br>');
此行将使用<br />
答案 2 :(得分:0)
您的条形码阅读器正在使用\ n换行读取vCard,但纯html会忽略此换行符。
在Javascript中你可以使用像
这样的东西someText.replace("\n", "<br>");
它会做你想要的。在php中它的nl2br函数