php文章摘要 [源程序]

// PHP 4.3 or above neededdefine(BRIEF_LENGTH, 800);//Word amount of
the Briefing of an Articlefunction Generate_Brief($text){global
$Briefing_Length;if(strlen($text) = BRIEF_LENGTH ) return
$text;$Foremost = substr($text, 0, BRIEF_LENGTH);$re =
/(//?)(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|OBJECT|A|UL|OL|LI|BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT|SPAN)[^]*(?)/i;$Single
= /BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT/i;$Stack = array();
$posStack = array();preg_match_all($re,$Foremost,$matches,
PREG_SET_ORDER | PREG_OFFSET_CAPTURE);/*[Child-matching
Specification]:$matches[$i][1] : A / charactor indicating whether
current … Friction is Closing Part$matches[$i][2] : Element
Name.$matches[$i][3] : Right of a … Friction*/for($i = 0 ; $i
count($matches); $i++){if($matches[$i][1][0] == ){$Elem =
$matches[$i][2][0];if(preg_match($Single,$Elem)
$matches[$i][3][0] !=){continue;}array_push($Stack,
strtoupper($matches[$i][2][0]));array_push($posStack,
$matches[澳门新葡亰网站注册,$i][2][1]);if($matches[$i][3][0] ==)
break;}else{$StackTop = $Stack[count($Stack)-1];$End =
strtoupper($matches[$i][2][0]);if(strcasecmp($StackTop,$End)==0){array_pop($Stack);array_pop($posStack);if($matches[$i][3][0]
==){$Foremost = $Foremost.;}}}}$cutpos = array_shift($posStack) –
1;$Foremost = substr($Foremost,0,$cutpos);return $Foremost;};