마크 업이 적고 수직 공백이 적은 부분을 많이 볼 수 있습니다. 페이지의 소스를 다운로드하고 strip_tags()
을 사용하여 마크 업을 제거하십시오. 그런 다음 정규식을 사용하여 5 개의 연속 문장을 검색 할 수 있습니다.
다음은 스크립트 예제입니다. 포함되지 않은 클래스 (curl_multi 함수의 추상화)를 사용하지만이 클래스는 사용자의 질문과 관련이 없습니다.
<?php
require_once("./../MultipleRequester.php");
$requester = new MultipleRequester();
$requester->addGetRequest('test', 'http://www.businessweek.com/news/2011-08-24/gold-tumbles-most-since-march-2008-as-demand-for-haven-wanes.html');
$requester->execute();
$content = $requester->getContent('test');
$plainText = strip_tags($content);
$search = preg_match('/(\h{0,2}\v{0,2}\h{0,2}[A-Z]{1}[A-z0-9 ,\'")(.$]{10,1000}\.){2,5}/', $plainText, $matches);
if($search)
print trim($matches[0]);
else
print "Could not extract anything.";
print "\n\n";
?>
이 지문 :
달러는 연방 준비 제도 이사회 벤 버냉키 의장은 중앙 은행이 더를 제공 할 용의가 있음을 이번 주 말할 것이다 여부에 대한 추측 가운데 6 개 주요 통화 바스켓에 대해 상승 경제에 대한 자극. 이번 주 미국 중앙 은행 총재는 미국 회복을 위해 와이오밍 주 잭슨 홀에서 만난다.
콘텐츠를 많이 마크 업하는 사이트에 여전히 문제가있을 수 있습니다. 정규 표현식을 더 관대하게 만들려는 경우가 있습니다. 특히 공백 문자에 대해서는 더욱 그렇습니다.
정규 표현식은 약간 지저분하지만, 튜닝하거나 직접 만들 수 있습니다.
죄송합니다. 귀하의 질문이 명확하지 않습니다. 페이지의 일부분을 다운로드하는 방법을 알고 싶습니까? 또는 문자열 조작을 수행하여 몇 문장을 추출하는 방법을 알고 싶습니까? – JonnyReeves
불쌍한 설명을 드려 죄송합니다. 문자열 조작에 도움이 필요합니다. 웹 페이지의 내용을 가져오고 HTML을 제거한 다음 주요 기사 텍스트에서 2-3 문장을 가져와야합니다. 그것을하는 방법을 모른다. – Croky
좋아, 글쎄, 당신이 질문하고 제목을 수정 해 줄 것을 제안한다; 예를 들어 '긁힌 자국'이 틀린 문맥에서 사용된다면, '텍스트 본문에서 첫 번째 X 문장을 추출하는 법'에 대한 질문이 더 많습니다. – JonnyReeves