- str_split: documentation ( source)
<?php
function htmlWrapThing($str, $size, $breaking){
$html = false;
$i = 0;
$t = 0;
$tagcount = 0;
$chars = str_split($str);
$return = "";
$break = false;
$tag = "";
$newtag="";
foreach($chars as $char){
if($char=="<"){
$tagcount++;
$html = true;
}
if($char==">") $html = false;
if(($tagcount/2)>1){
$tagcount = 0;
$tag = "";
}
if($html) $t++;
if($html && $char!="/" && $t > 1){
$tag .= $char;
$t =0;
}
if(!$html) $i++;
$return .= $char;
if($i==$size) $break = true;
if($char == " " && !$html && $break){
if(!isset($tag)||$tag==""){
$return .= $breaking;
}else{
$return .= '</'.$tag.'>'.$breaking.'<'.$tag.'>';
}
$i=0;
$break = false;
}
}
return $return;
}
$str = "<h1>hilo everybody how is everyone doing tonight?</h1><p>hello world how is everyone doing today</p><p>hello world how is everyone doing today</p><p>hello world how is everyone doing today</p><br><br />hello everybody how are you doing today?";
echo '<div class="pagecontent">'.htmlWrapThing($str,10, '</div><div class="pagecontent">').'</div>';