PHP Strings
Wrapping Text at a Certain Line Length
Problem
You need to wrap lines in a string. For example, you want to display text by using <pre> and </pre> tags but have it stay within a regularly sized browser window.Solution
Use wordwrap():$s = "Four score and seven years ago our fathers brought forth on this continent ↵
a new nation, conceived in liberty and dedicated to the proposition ↵
that all men are created equal.";
print "<pre>\n".wordwrap($s)."\n</pre>";
This prints:
<pre>
Four score and seven years ago our fathers brought forth on this continent
a new nation, conceived in liberty and dedicated to the proposition that
all men are created equal.
</pre>
Discussion
By default, wordwrap() wraps text at 75 characters per line. An optional second argument specifies a different line length:
print wordwrap($s,50);
This prints:
Four score and seven years ago our fathers brought
forth on this continent a new nation, conceived in
liberty and dedicated to the proposition that all
men are created equal.
Other characters besides \n can be used for line breaks. For double spacing, use "\n\n":
print wordwrap($s,50,"\n\n");
This prints:
Four score and seven years ago our fathers brought
forth on this continent a new nation, conceived in
liberty and dedicated to the proposition that all
men are created equal.
There is an optional fourth argument to wordwrap() that controls the treatment of words
that are longer than the specified line length. If this argument is 1, these words are wrapped. Otherwise, they span past the specified line length:
print wordwrap('jabberwocky',5) . "\n";
print wordwrap('jabberwocky',5,"\n",1);
This prints:
jabberwocky
jabbe
rwock
y
No comments:
Post a Comment