pre Символов заголовке абзацев simzagol 30 max длина абзаца символах m

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
<pre>
<?
#Символов в заголовке абзацев
$simzagol=30;
#max длина абзаца в символах
$maxlength=500;
#откуда брать
$from='1.txt';
#куда записать
$to='2.txt';
#predl для нового абзаца
$pred=4;
#kolz max - число новых абзацев из старогоь максимум
$kols=100;
#delete chars array
$sim=array('&nbsp;', '&mdash;', '&hellip;', '&shy;', '&bdquo;');
#спешл символ фо експлод
$nlch="\r\n";
$text=file_get_contents($from);
foreach($sim as $valu){
$text=str_replace($valu,'',$text);
}
$text=preg_replace("/(http:\/\/)?(www\.)?[a-zA-Z0-9-]{1,15}\.[a-zA-Z0-9]{1,4}/",'TVOI',$text);
$text=preg_replace("/[a-zA-Z0-9-]{1,15}@[a-zA-Z0-9-]{1,15}\.[a-zA-Z0-9]{1,4}/",'EMAIL',$text);
$group=explode($nlch,$text);
$text='';
foreach($group as $k=>$v)
{
$a[$k]=explode('.',$v);
/*
unset($a[$k][count($a[$k])-1]);
*/
foreach ($a[$k] as $k1=>$v1)
{
//if(count($v1)>2)
$a[$k][$k1].='.';
if($iss[$v1]){unset($a[$k][$k1]);}
$iss[$v1]=1;
}
if(strlen($v)>$maxlength){
$stat_a++;
for($ee=0;$ee<$kols;$ee++){
$stat_abz++;
$thh=$pred*$ee;
$a[$k][$thh]=$nlch.substr($a[$k][$thh],0,$simzagol).$nlch.$nlch;
if(!($a[$k][$pred*($ee+1)])){
break;
}
}
}
}
foreach($a as $k=>$v){
$text.=implode('',$a[$k]).$nlch.$nlch;
}
$info = <<<QWE
Число получившихся и разбитых абзацев $stat_abz
Число больших абзацев $stat_a
QWE;
echo $info;
file_put_contents($to,$text);
?>
</pre>