FUNCTION
html_word_wrap
Wraps long lines of html text by replacing spaces with a newline.
Interface
#include <codecogs/strings/html_word_wrap.h>
using namespace Strings;
Ensures that the maximum width of a line (in plain characters) is less than equal to the line length specified. Wrapping is performed on logical word boundaries to ensure words are not broken.
This function is html aware, so any items enclosed in '<' and '>' are ignored and are not included in the line length. This feature is useful when trying to wrap a line for displaying in html, where you don't want to include the html formatting commands.
The function performs an in place substitution of spaces with carriage returns where-ever a new line is needed. As such the provided string is altered, however this ensures that no additional memory needs to be allocated.
Example 1
#include <codecogs/strings/html_word_wrap.h>
int main()
{
const char str[]="<strong>CodeCogs is being updated.</strong> We are just installing a <em>new build</em> of this <font size=\"+3\">website</font>. If you have any problems, then please wait 2 minutes while the configuration files are updated. <span class=\"orange\">Please also take this opportunity to send us any comments about features you would like to see.</span>";
printf("%s\n", html_word_wrap(str, strlen(str), 50));
}Output:
<strong>CodeCogs is being updated.</strong> We are just installing
a <em>new build</em> of this <font size="+3">website</font>. If you have any
problems, then please wait 2 minutes while the
configuration files are updated. <span class="orange">Please also take this
opportunity to send us any comments about features you
would like to see.</span>