PHP를 통해 페이지 제목 콘텐츠를 얻는 실제 시연:
샘플 코드:
/*
기능: URL 페이지에서
콘텐츠 가져오기
매개변수: $_POST['url']
*/
//가장 긴 실행 시간(초) 설정
ini_set("expect.timeout", 30);
set_time_limit(30)
// URL 확인
if(!isset($_POST['url']) || $_POST['url'] == ''){
echo "URL 오류"
종료
}
/* URL 페이지 데이터 가져오기 */
//CURL 초기화
$ch = 컬_초기화()
// URL 설정
컬_setopt($ch, CURLOPT_URL, $_POST['url'])
//curl_exec()에서 얻은 정보를 직접 출력하는 대신 데이터 스트림 형태로 반환하도록 합니다.
컬_setopt($ch, CURLOPT_RETURNTRANSFER, 1)
// 연결을 시작하기 전 대기 시간입니다. 0으로 설정하면 대기 시간이 발생하지 않습니다.
컬_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0)
//CURL 실행의 최대 시간(초) 설정
컬_setopt($ch, CURLOPT_TIMEOUT, 30)
// 파일 콘텐츠를 가져옵니다.
$store = 컬_exec($ch)
// 파일이 제대로 얻어졌는지 확인
if (curl_errno($ch)){
echo "URL 데이터를 얻을 수 없습니다";
//echocurl_error($ch);/*오류 메시지 표시*/
종료
}
// CURL 닫기
컬_닫기($ch)
// HTML의 섹션을 구문 분석합니다.
preg_match("/(.*)/smUi",$store, $htmlHeaders
if(!count($htmlHeaders)){
echo "데이터의 섹션을 구문 분석할 수 없습니다."
종료
}
// 에서 메타로 설정된 인코딩 형식을 가져옵니다.
if(preg_match("/]*http-equiv[^>]*charset=(.*)("|')/Ui",$htmlHeaders[1], $results)){
$charset = $결과[1]
}그밖에{
$charset = "없음"
}
//
에서 텍스트를 가져옵니다.
if(preg_match("/(.*)/Ui",$htmlHeaders[1], $htmlTitles)){
If(!count($htmlTitles)){
echo "
의 내용을 구문 분석할 수 없습니다.";
종료
}
// 의 텍스트 인코딩 형식을 UTF-8로 변환합니다.
If($charset == "없음"){
$title=$htmlTitles[1];
}그밖에{
$title=iconv($charset, "UTF-8", $htmlTitles[1]);
}
에코 $제목;
}