【发布时间】:2018-09-24 23:14:14
【问题描述】:
我正在尝试创建一个工具,该工具接受输入文本并将其拆分为具有特定字符数的文本块。但是,我需要确保它不会在单词中间拆分文本。
就我而言,我在 155 个字符后拆分字符串。
我已经进行了大量搜索以尝试找到解决方案,但我担心它可能比我对 Javascript 的了解更复杂。我相信我只需要制定某种逻辑,让拆分器回溯到要拆分的空间,如果它位于单词的中间,但我不知道如何写出这样的东西。
这是我目前的 javascript 代码:
function splitText() {
"use strict";
var str = document.getElementById("user_input").value;
var size = 195;
var chunks = new Array(Math.ceil(str.length / size)),
nChunks = chunks.length;
var newo = 0;
for (var i = 0, o = 0; i < nChunks; ++i, o = newo) {
newo += size;
chunks[i] = str.substr(o, size);
}
var newq = 0;
for (var x = 0, q = 0; x < nChunks; ++x, q = newq) {
$("#display").append("<textarea readonly>" + chunks[x] + "</textarea><br/>");
}
}
这是我的 HTML:
<body>
<content>
<h1>Text Splitter</h1>
<form>
<label>Enter a Message</label>
<input type="text" name="message" id="user_input">
</form>
<form>
<input type="button" onclick="splitText();" id="submit" value="Submit!"> <br/>
</form>
<label>Your split message: </label>
<p><span id='display'></span></p>
</content>
</body>
以下是当前工作形式的代码,如果您想看一下: https://jsfiddle.net/add4s7rs/7/
谢谢!感谢您的帮助!
【问题讨论】:
-
所以,为了清楚起见,将字符串拆分为第一个新词出现在字符 155 处或之后?
-
我想确保它不会超过 155 限制。总是在它之前的空间分割。另外,如果您想查看它的实际效果,我添加了一个 jsfiddle 链接。
-
好的,所以最大长度为 155,但容纳最后一个完整单词的长度可能会更少?
-
我相信这是正确的,是的!
标签: javascript html