I am attempting to create a tool that takes an input text and splits it into chunks of text at a certain # of characters. However, I need to make sure it does not split the text in the middle of a word.
In my case, I am splitting the string after 155 characters.
I've done quite a lot of searching to try and find a solution, but I fear it may be more complicated than my knowledge of Javascript allows me to figure out. I believe I just need to make some sort of logic that has the splitter backtrack to a space to split if it is in the middle of a word, but I am not sure how to write out such a thing.
Here is my javascript code at the moment:
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/>");
}
}
And here is my 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>
Here is the code in its current working form, if you'd like to take a look:
https://jsfiddle.net/add4s7rs/7/
Thank you! I appreciate any assistance!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…