| 태그 제거 함수 strip tags2 & 링크 추출 함수 extract link |
|
|
 |
15년 전 |
로컬 검색 엔진을 만들기 위해 필요한 함수를 만들어 봤다.
컨테츠의 텍스트 추출, 링크 추출 함수
텍스트 추출 함수
function strip_tags2(){
$search = array ("']*?>.*?'si", // 자바 스크립트 제거
"'<[\/\!]*?[^<>]*?>'si", // HTML 태그 제거
"'<\!\-\-(.*)?\-\->'si", //주석제거
"'([\r\n])[\s]+'",
"'&(quot|#34);'i", // HTML 엔티티 치환
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'(\d+);'e"); // php로 실행
$replace = array ("",
"",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
preg_replace($search,$replace,$data);
}//end function
링크 추출 함수
function extract_link($file){
$data = file_get_contents($file);
preg_match_all("/href=['\"]?([\?\&\=\/\.\_\:a-z0-9]+)['\"\s]?/i",$data,$out,PREG_SET_ORDER);//파라미터 사용할 경우
foreach($out as $key=>$val){
$link = $val[2];
if( ereg("\.gif|\.jpg|\.png|\.hwp|\.xls|\.swf|\.css|javascript:|mailto:",$link) ) continue;
if( ereg("http://",$link ) ) if( !ereg($HOST,$link) ) continue;
if( ereg("^..\/",$link) ){
$_link = $ROOT_URL."/".$link;
} elseif ( ereg("^\/",$link) ) {
$_link = $ROOT_URL.$link;
} else {
$_link = substr($lnk,0,strrpos($lnk,"/"))."/".$link;
}
$i++;
if( !chkLink($_link) ) continue;
$LINK[$i] = $_link;
unset($text);
extract_link($_link);//재귀호출
flush();
}//end of foreach
}
|
|
추천 : 774 |
추천
목록
|
|