I'm trying to find a php function that will take a string and a length number, and at that length in the string will cut it, but not if its in the middle of a word, only if its a space, and will check for the nearest space to do so.
It also would continuously do this and retu开发者_运维技巧rn the array of strings with however long the original string was (IE if the original string was about 240 in length and I wanted to cut around 80, the array would be 3 strings large).
I found a couple of functions but none that does that, and I'm having trouble creating my own.
The wordwrap
function splits a string in lines of up to a given number of characters long.
It takes care of words and won't cut in the middle of a word (unless to tell it to).
You can use it and split the string by lines:
$string = wordwrap($string, 42);
$lines = explode("\n", $string);
You want wordwrap().
wordwrap (string $str, int $width = 75, string $break = "\n" , bool $cut = false)
The important thing is to make sure you have $cut = false
so it doesn't slice words into two parts (which is the default setting).
Use wordwrap()
to do the wrapping, then you can explode()
the string on the linebreaks to get it in array format.
精彩评论