10月52014
php采集文章过滤版权信息
function TT($html,$maxlen) { if (preg_match("/<title>(.*)<\/title>/isU", $html, $t)) { if (preg_match_all("/<h([1-3])(?:[^>]*)>(.*)<\/h\\1>/isU", $html, $ts)) { foreach($ts[2] as $vt) { if (strpos($t[1], $vt) !== false) return $vt; } } $t[1] = str_replace(array('-', '—', '_', '>'), '|', $t[1]); $splits = explode('|', $t[1]); $l = 0; foreach ($splits as $tp) { $len = strlen($tp); if ($l < $len) { $l = $len; $tt = $tp; } } $tt = trim(str_replace('"', '"', cn_substr(html2text($tt), $maxlen))); return $tt; } return false; } /** * HTML转换为文本 * * @param string $str 需要转换的字符串 * @param string $r 如果$r=0直接返回内容,否则需要使用反斜线引用字符串 * @return string */ function html2text($str,$r=0) { $str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU", "", $str); $alltext = ""; $start = 1; for($i = 0;$i < strlen($str);$i++) { if ($start == 0 && $str[$i] == ">") { $start = 1; } else if ($start == 1) { if ($str[$i] == "<") { $start = 0; $alltext .= " "; } else if (ord($str[$i]) > 31) { $alltext .= $str[$i]; } } } $alltext = str_replace(" ", " ", $alltext); $alltext = preg_replace("/&([^;&]*)(;|&)/", "", $alltext); $alltext = preg_replace("/[ ]+/s", " ", $alltext); if($r==0){ return $alltext; }else { $r = SpHtml2Text(stripslashes($alltext)); return addslashes($r); } } /** * utf-8中文截取,单字节截取模式 * * @access public * @param string $str 需要截取的字符串 * @param int $slen 截取的长度 * @param int $startdd 开始标记处 * @return string */ function cn_substr($str, $length, $start = 0) { if (strlen($str) < $start + 1) { return ''; } preg_match_all("/./su", $str, $ar); $str = ''; $tstr = ''; for($i = 0; isset($ar[0][$i]); $i++) { if (strlen($tstr) < $start) { $tstr .= $ar[0][$i]; } else { if (strlen($str) < $length + strlen($ar[0][$i])) { $str .= $ar[0][$i]; } else { break; } } } return $str; }
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!