如何使用Javascript在HTML中添加换行符
我在一个使用数据源的网站上工作。在该数据源(通过CSV文件输入)中有一段文本。客户端正在以项目符号格式输入文本,并希望将其显示为项目符号格式。例如:如何使用Javascript在HTML中添加换行符,javascript,html,formatting,Javascript,Html,Formatting,我在一个使用数据源的网站上工作。在该数据源(通过CSV文件输入)中有一段文本。客户端正在以项目符号格式输入文本,并希望将其显示为项目符号格式。例如: 这里的第一点…*第二点…*第三点 (客户端对所有点都使用asterix,这里的文本编辑器将第一个点转换为项目符号) 有人知道我能在第一个asterix之前插入换行符的方法吗,这样就可以显示为列表了?也许用一点javascript 理想情况下,列表将如下所示: <ul> <li>First point here..
- 这里的第一点…*第二点…*第三点
<ul>
<li>First point here... * Second point here... * Third point here...</li>
</ul>
$(function() {
$('li').each(function() {
var listItem = $(this),
text = listItem.text().replace(/\*/g, '<li>');
listItem.html(text);
});
});
- 这里的第一点李>
- 第二点李>
- 第三点
Tom使用正则表达式可以编写:
input.replace(/\s\*/g, '\n•');
这将用一个从新行开始的项目符号替换所有*前面的空格字符
如果您需要从输入中创建一个真正的HTML标记(如li标记),则必须深入研究regexp。本页是一个很好的起点。使用正则表达式,您可以编写:
input.replace(/\s\*/g, '\n•');
这将用一个从新行开始的项目符号替换所有*前面的空格字符
如果您需要从输入中创建一个真正的HTML标记(如li标记),则必须深入研究regexp。这个页面是一个很好的起点。结合您已有的答案,您可以使用正则表达式将星号替换为
。例如:
HTML
<div id="output"></div>
Javascript
var str = ' * one * two * three';
str = str.replace(/\s\*/g, '<li>');
$('#output').html('<ul>'+str+'</ul>');
var str='*1*2*3';
str=str.replace(/\s\*/g,);
$('#output').html(''+str+'
');
结合已有答案,可以使用正则表达式将星号替换为
。例如:
HTML
<div id="output"></div>
Javascript
var str = ' * one * two * three';
str = str.replace(/\s\*/g, '<li>');
$('#output').html('<ul>'+str+'</ul>');
var str='*1*2*3';
str=str.replace(/\s\*/g,);
$('#output').html(''+str+'
');
好的,我是从你的问题和评论中猜出来的,但是看起来你列表中呈现的html是这样的:
<ul>
<li>First point here... * Second point here... * Third point here...</li>
</ul>
$(function() {
$('li').each(function() {
var listItem = $(this),
text = listItem.text().replace(/\*/g, '<li>');
listItem.html(text);
});
});
- 这里的第一点…*第二点…*第三点
从您的评论来看,您似乎正在使用jQuery,因此可以执行以下操作:
<ul>
<li>First point here... * Second point here... * Third point here...</li>
</ul>
$(function() {
$('li').each(function() {
var listItem = $(this),
text = listItem.text().replace(/\*/g, '<li>');
listItem.html(text);
});
});
$(函数(){
$('li')。每个(函数(){
var listItem=$(此),
text=listItem.text().replace(/\*/g,);
html(文本);
});
});
好的,我是从你的问题和评论中猜出来的,但是看起来你列表中呈现的html是这样的:
<ul>
<li>First point here... * Second point here... * Third point here...</li>
</ul>
$(function() {
$('li').each(function() {
var listItem = $(this),
text = listItem.text().replace(/\*/g, '<li>');
listItem.html(text);
});
});
- 这里的第一点…*第二点…*第三点
从您的评论来看,您似乎正在使用jQuery,因此可以执行以下操作:
<ul>
<li>First point here... * Second point here... * Third point here...</li>
</ul>
$(function() {
$('li').each(function() {
var listItem = $(this),
text = listItem.text().replace(/\*/g, '<li>');
listItem.html(text);
});
});
$(函数(){
$('li')。每个(函数(){
var listItem=$(此),
text=listItem.text().replace(/\*/g,);
html(文本);
});
});
您可以将星号替换为
li
(因为它们不需要关闭):text.replace(“*”,“”)代码>创建一个列表(无序的
)并从所有以asterix开头的文本节点中创建列表项(
)。使用CSS进行格式设置,您可以使用选择器li:first child
为第一个列表元素设置不同的样式。 是否也应该有一个结束标记?@user3425760li
的结束标记是可选的:感谢您的建议@Pete,我应该如何在脚本标记中插入它?也许像这样$(document).ready(函数(){text.replace('*',' ');});您可以将星号替换为li
(因为它们不需要关闭):text.replace(“*”,“”)代码>创建一个列表(无序的
)并从所有以asterix开头的文本节点中创建列表项(
)。使用CSS进行格式设置,您可以使用选择器li:first child
为第一个列表元素设置不同的样式。 是否也应该有一个结束标记?@user3425760li
的结束标记是可选的:感谢您的建议@Pete,我应该如何在脚本标记中插入它?也许像这样$(document).ready(函数(){text.replace('*',' ');});谢谢@Pete,html代码是:*这里的第一点…*第二点…*这里的第三点…
。我已经更新了脚本以关注.property_description,但你知道有没有办法让脚本也添加一个开始和结束标记,但只有在使用asterix的情况下?@TomPerkins,我会这样做:但它依赖于星号文本是段落中唯一看起来完美的文本,非常感谢你。如果有什么需要我帮忙的,请告诉我。谢谢@Pete,html代码是:*这里的第一点…*第二点…*这里的第三点…
。我已经更新了脚本以关注.property_description,但你知道有没有办法让脚本也添加一个开始和结束标记,但只有在使用asterix的情况下?@TomPerkins,我会这样做:但它依赖于星号文本是段落中唯一看起来完美的文本,非常感谢你。如果有什么需要我帮忙的,请告诉我。