如何在经典 asp 中将文本分隔为列表

how to separate a text as a list in classic asp

我有一个问题,我需要弄清楚如何拆分在文本区域中输入的文本,但在输入时只是视觉上的顺序,我会详细解释。

确定的用户在文本区域中键入如下内容

这是输入的样子

1- sample text 1.
2- sample text 2.
3- sample text 3.

这就是用户在文本框中键入它的方式,但是当我显示它时它看起来像这样(请注意并非所有用户都以点结尾)

1- sample text 1. 2- sample text 2. 3- sample text 3.

如何在视觉上将它们分开并显示为列表?我尝试了 replace、mid 和其他功能,但没有用,在此先感谢

试试这个,在 line-breaks 处拆分文本并遍历数组以创建列表:

function addText() {
  let list = document.querySelector('#list');
  let text = document.querySelector('#text').value;
  let values = text.split('\n');

  let listFragment = new DocumentFragment();

  values.forEach(value => {
    let span = document.createElement('span');
    span.textContent = value + ' ';
    listFragment.append(span);
  });

  list.append(listFragment);
}
<textarea id="text"></textarea>
<button onClick="addText()">enter</button>
<div id="list"></div>

因为 HTML 会忽略空格,您不会看到换行符,但您可以通过查看浏览器页面源代码来确认它们的存在。

例如,如果您想获取文本并将其输出为无序列表 (<ul>),您可以这样做;

<%
Option Explicit

'Starting point for the script.
Call init_page()

Sub init_page()
  Dim issubmit: issubmit = (Request.Form.Count > 0)
  Dim value: value = Request.Form("sampletext") & ""

  Call build_form(value)
  If issubmit Then
    Call Response.Write(build_list(value))
  End If
End Sub

Sub build_form(value)
%>
<form method="POST">
  <textarea name="sampletext" rows="5"><%= value %></textarea>
  <button>Submit</button>
</form>
<%
End Sub

Function build_list(value)
  Dim html, list, item, items
  If Len(value) < 1 Then build_list = ""
  list = Split(value, vbNewLine)
  If IsArray(list) Then
    html = "<ul>"
    items = UBound(list)
    For item = 0 To items
      html = html & "<li>" & list(item) & "</li>"
    Next
    html = html & "</ul>"
  Else
    html = "Error: List was not in the correct format"
  End If
  build_list = html
End Function
%>

该示例是一个单页 ASP 页面脚本,它将表单发布到自身并使用函数获取发布的文本,使用 Split() 将其转换为数组并使用该数组来构建一个写回页面的无序列表。这绝不是一个解决方案,它旨在作为一个培训练习,让您了解如何在您自己的项目中执行此操作。

如果您只是想像输入时一样显示它而没有太多额外的麻烦,您可以在一行代码中使用 replace()

replace(inputFieldString, vbCrlf, '<br>')

我们的一些旧系统使用此方法处理来自文本区域输入的内容。快速简单。