自动分页的不完整解决方案

测试代码

<form id="form1" name="form1" method="post" action="">

  <textarea name="content" cols="60" rows="10"></textarea>

  <input type="submit" name="Submit" value="提交" />

</form>

<?

$content=$_POST["content"];

//echo $content;

$ft=array("<br />","</p>");

//echo count($ft);

$html = "abaaaaaaa<br />cssssssssssssssssssd<br />efdddddddddddddddddd";

preg_match_all ("|(<br \/>)|U",$html,$out, PREG_PATTERN_ORDER);

 while (list($key,$value) = each($out[1])) {

 }

$keywords = preg_split ("/(<br \/>)/", $html);

//echo $html;

$pagesize=10;

$size=0;

$h="";

for ($i=0; $i< count($keywords); $i++) {

 if($size<$pagesize){

 $size+=strlen($keywords[$i]);

// echo "size=".$size;

 $h.=$keywords[$i];

 }

}

echo $h;

?>

思路是使用 <br /> 将文章内容分解为多个块.形成数组

然后遍例,同时将文章内容块,一点点组合,直到它的长度大于 $pagesize

这是一个不错的方法,使用正则的 preg_split 进行文章内容的分割,是考虑到,以后不光使用<br /> 同时使用 </p>  或者更多的分割符号

但问题是,同时使用多个分割符后, 无法判断某一段是根据哪个分割符进行分割的. 无法对文章内容完整还原

项目比较紧,而且添加文章的编辑器是fckeditor,每个文章都有n多的</ br>.就暂时不考虑多个分割符了

 所以还不算是完整的解决方案. 

相关推荐