PHP offers a function for that, it is called 'str_split()'. You can use it like this:
<?php
$content = get_the_content();
$chunks = str_split($content, 500);
//Printing each chunk in a div
foreach($chunks as $chunk_content) {
echo "<div>";
echo $chunk_content;
echo "</div>";
}
?>
More info to str_split: http://www.php.net/manual/en/function.str-split.php
EDIT: If words should not get cut in the middle, use this function instead:
<?php
$content = get_the_content();
$strings = wordwrap($content, 500, "{BREAK}"); //Put a {BREAK} every 500 characters
$chunks = explode("{BREAK}", $strings); //Put each segment separated by {BREAK} into an array field
//Printing each chunk in a div
foreach($chunks as $chunk_content) {
echo "<div>";
echo $chunk_content;
echo "</div>";
}
?>
If you want to save some memory, you can combine these functions like this:
<?php
foreach(explode("{BREAK}", wordwrap(get_the_content(), 500, "{BREAK}")) as $chunk) {
echo "<div>" . $chunk . "</div>\n"; //The \n creates a new line
}
?>
For more information concerning wordwrap see http://www.php.net/manual/en/function.wordwrap.php