Javascript 将textarea内容转换为html

Javascript 将textarea内容转换为html,javascript,Javascript,我需要制作一个简单的Javascript转换器,将输入转换为html格式的列表。 以下是示例输入的外观: Brand: Brand1 Model1 /Model2 /Model3 /Model4 /Model5 /Model6 / Brand: Brand2 Model1 /Model2 /Model3 /Model4 /Model5 /Model6 / 这将是转换后的html: <h3>Brand1</h3> <ul> <li>Mo

我需要制作一个简单的Javascript转换器,将
输入转换为html格式的列表。

以下是示例输入的外观:

Brand: Brand1
  Model1 /Model2 /Model3 /Model4 /Model5 /Model6 /
Brand: Brand2
  Model1 /Model2 /Model3 /Model4 /Model5 /Model6 /
这将是转换后的html:

<h3>Brand1</h3>
<ul>
  <li>Model1</li>
  <li>Model2</li>
  <li>Model3</li>
  <li>Model4</li>
  <li>Model5</li>
  <li>Model6</li>
</ul>
<h3>Brand2</h3>
<ul>
  <li>Model1</li>
  <li>Model2</li>
  <li>Model3</li>
  <li>Model4</li>
  <li>Model5</li>
  <li>Model6</li>
</ul>
Brand1
  • 模型1
  • 模型2
  • 模型3
  • 模型4
  • 模式5
  • 模式6
品牌2
  • 模型1
  • 模型2
  • 模型3
  • 模型4
  • 模式5
  • 模式6
有人能提供一些示例代码来实现这一点吗?
非常感谢

jQuery将是实现这一点的简单方法,但是如果您被迫使用纯Javascript,您将得到如下结果:

HTML:

品牌:品牌1
Model1/Model2/Model3/Model4/Model5/Model6
品牌:Brand2
Model1/Model2/Model3/Model4/Model5/Model6
Javascript:

var convertButton = document.getElementById('convertButton');

convertButton.onclick = function(){
    var input = document.getElementById('input');
    var output = document.getElementById('output');

    var lines = input.value.split( '\n' );
    var html = '';
    for( var i=0; i<lines.length; i++ ) {
        if( lines[i].indexOf('Brand')===0 ) {
            var brand = lines[i].split(':')[1];
            html += '<h3>' + brand + '</h3>';
        }
        if( lines[i].indexOf('/')!==-1 ) {
            var models = lines[i].split('/');
            html += '<ul><li>' + models.join('</li><li>') + '</li></ul>';
        }
    }
    output.innerHTML = html;
};​
var convertButton=document.getElementById('convertButton');
convertButton.onclick=函数(){
var input=document.getElementById('input');
var output=document.getElementById('output');
变量行=input.value.split('\n');
var html='';

for(var i=0;ijQuery是实现这一点的简单方法,但是如果您被迫使用纯Javascript,您将得到如下结果:

HTML:

品牌:品牌1
Model1/Model2/Model3/Model4/Model5/Model6
品牌:Brand2
Model1/Model2/Model3/Model4/Model5/Model6
Javascript:

var convertButton = document.getElementById('convertButton');

convertButton.onclick = function(){
    var input = document.getElementById('input');
    var output = document.getElementById('output');

    var lines = input.value.split( '\n' );
    var html = '';
    for( var i=0; i<lines.length; i++ ) {
        if( lines[i].indexOf('Brand')===0 ) {
            var brand = lines[i].split(':')[1];
            html += '<h3>' + brand + '</h3>';
        }
        if( lines[i].indexOf('/')!==-1 ) {
            var models = lines[i].split('/');
            html += '<ul><li>' + models.join('</li><li>') + '</li></ul>';
        }
    }
    output.innerHTML = html;
};​
var convertButton=document.getElementById('convertButton');
convertButton.onclick=函数(){
var input=document.getElementById('input');
var output=document.getElementById('output');
变量行=input.value.split('\n');
var html='';

对于(var i=0;如果您使用jQuery,它会容易得多……这是可能的吗?我同意ethan的观点,您需要一个带有正则表达式的jQuery函数来查找您要查找的内容并应用标记,因此如果输入格式不是一成不变的,我可以推荐一些现有的、受良好支持的标记语言,例如and吗?这会容易得多如果您使用jQuery…这是可能的吗?我同意ethan的观点,您需要一个带有正则表达式的jQuery函数来查找您要查找的内容并应用标记,如果输入格式不是一成不变的,我可以推荐一些现有的、受良好支持的标记语言,例如和吗?谢谢,这正是我需要的!谢谢,这正是我需要的我需要!