2010-02-22 4 views
2

미리 사과드립니다.이 질문은 가장 명확하지 않을 수 있지만 최선을 다해 답변 해 드리겠습니다.Google 지역 검색 PHP to Javascript

내 PHP 스크립트에서 문자열을 처리하고 있습니다. 대괄호 [] 사이에있는 단어를 잡고 문자열에 Google 지역 검색 (http://code.google.com/apis/ajax/playground/#show_driving_directions 참조)을 실행하고 싶습니다. 일단 검색이 처리되면 나는 첫 번째 결과 만 얻고 싶습니다.

그냥 배경으로, 나는 PHP 스크립트는 언제든지 "메시지"로 제공을 실행해야합니다. 나는 모든 정규식 물건 작업을

그냥 흐름이 구글 검색 API를 호출하는 것입니다 무엇을 알아야 첫 번째 결과를 반환합니다.

답변

2

AJAX API를 직접 호출하고 JSON의 결과를 객체 (json_decode())로 파싱하여 첫 번째 결과를 얻는 것이 좋습니다.

http://code.google.com/apis/ajaxsearch/documentation/reference.html#_fonje_urlbase http://code.google.com/apis/ajaxsearch/documentation/reference.html#_fonje_args http://code.google.com/apis/ajaxsearch/documentation/reference.html#_fonje_local

다음과 같은 부분에서 API 문서를 참조하십시오, 나는 개인적으로는 AJAX API 주위에 랩 일부 클래스에서 일한지,하지만 그들은 완성 근처에 어디있어 없습니다 (아마도 더 나은 구조를 위해 리팩토링 할 것입니다).

그러나 원하는 경우 SVN에서 현재 소스를 가져올 수 있습니다. 로컬 검색을했는데 현재 형식으로 작동합니다.

http://codelib.stephenmelrose.co.uk/svn/php/branches/1.0/library/

당신이 좋아하는 그것을 사용하십시오,

require_once("library/google/search/Local.php"); 

$google_search = new SM_Google_Search_Local('starbucks'); 
$google_search->setHTTPReferer("http://localhost.localhost/"); 
$google_search->setResultSetSize(Google_Search::RESULT_SET_SIZE_LARGE); 
$google_search->setCenterPoint('53.79548,-1.549416'); 

$response = $google_search->getResponse(); 
$results = $response->getResults(); 

// Your first result 
$results[0]; 
+0

이유는 httpreferer을 설정해야? – st4ck0v3rfl0w

+0

$ 응답은 어디서 오는가? – st4ck0v3rfl0w

+0

아직 끝나지 않았다. 아직 문서를 작성하지 않았다! :) 응답은 API의 응답입니다. 당신은 결과 이상을 얻습니다. 당신은 페이징 등을 얻습니다. 그런 다음 응답에서 결과를 얻습니다. HTTP_REFERER는 Google의 API 지침에 따라 제공해야합니다. –