无法从 HTML textarea 获得准确的打印结果
Can't get exact print out result from HTML textarea
我正在创建医疗处方表格。这里的 textarea
字段名称之一是 new prescription
。医生会在这里插入值,例如
1. medicine-l
1+1+1
2. medicine-2
1+0+1
但是当我打印出处方时,这个 new prescription
字段显示它的值就像
1.medicine-1 1+1+1 2.medicine-2 1+0+1
但我想打印出 new prescription
的值,就像医生插入的那样。
我该怎么做?有人帮忙吗?
在您将文本打印出来之前,换行符实际上会保留下来。 HTML 不检测文本中的换行符。
对 JS 试试这个:
textAreaText.replace(/(?:\r\n|\r|\n)/g, '<br>');
How do I replace all line breaks in a string with <br /> tags?
为 PHP 试试这个:
http://php.net/manual/en/function.nl2br.php
您应该可以使用 CSS property white-space
来做到这一点。
示例:
.textarea-class {
white-space: pre-wrap;
}
如果有各种选项,请咨询 the MDN docs 以获得非常好的概述,但您似乎想要 pre
(就这样),pre-wrap
(保持间距和线条换行,但换行),甚至 pre-line
(保持换行但不保持间距,换行)。
您需要将其放入 your print stylesheet。
我正在创建医疗处方表格。这里的 textarea
字段名称之一是 new prescription
。医生会在这里插入值,例如
1. medicine-l
1+1+1
2. medicine-2
1+0+1
但是当我打印出处方时,这个 new prescription
字段显示它的值就像
1.medicine-1 1+1+1 2.medicine-2 1+0+1
但我想打印出 new prescription
的值,就像医生插入的那样。
我该怎么做?有人帮忙吗?
在您将文本打印出来之前,换行符实际上会保留下来。 HTML 不检测文本中的换行符。
对 JS 试试这个:
textAreaText.replace(/(?:\r\n|\r|\n)/g, '<br>');
How do I replace all line breaks in a string with <br /> tags?
为 PHP 试试这个: http://php.net/manual/en/function.nl2br.php
您应该可以使用 CSS property white-space
来做到这一点。
示例:
.textarea-class {
white-space: pre-wrap;
}
如果有各种选项,请咨询 the MDN docs 以获得非常好的概述,但您似乎想要 pre
(就这样),pre-wrap
(保持间距和线条换行,但换行),甚至 pre-line
(保持换行但不保持间距,换行)。
您需要将其放入 your print stylesheet。