2011-09-29 5 views
0

저는 PHP 초보자이며 쿼리 문자열을 가져 오는 방법에 대한 제안을 따르려고합니다. 단어를 읽을 수있는 형식으로 검색하고 싶습니다.PHP에서 쿼리 문자열 가져 오기가 작동하지 않습니다.

이제 문자열은 Asp.Net에서 요청 개체의 referer 속성을 사용하여 이전에 수집 된 데이터베이스에서 가져옵니다. 그러나 내가 아는 한 그것이 어떤 차이도 없어야합니다.

$query = parse_url($url, 6); 

    return $query; 

음, 작품의 종류 :

function getQuery($url) 
{ 
     $processed_url = parse_url($url); 

     $query_string = $processed_url['query']; 
     if($url != '') 
     { 
      return $query_string; 
     } 
     else 
     { 
      return $url; 
     } 
} 

그래서 나는 또한 쿼리 문자열을 추출해야 변화를 시도 :

그래서 나는이 시도했다. 그것은 나에게 쿼리 문자열 부분을 제공하지만 "q ="와 그 모든 것을 포함합니다. 단지 쿼리 문자열의 텍스트가 아닙니다.

그래서 내가 쿼리 문자열 자체를 구문 분석 할 수 있어야하는데이에 parse_str() 함수 시도 :

parse_str($query, $myArray); 
return $myArray[0]; 

을하지만 그건 전혀 작동하지 않았다을, 그것은 나에게에는 결과를 제공하지 않습니다 결과 페이지 (그리드).

내가 뭘 잘못하고 있니? 먼저 위의 쿼리를 얻는 첫 번째 방법과 두 번째로 쿼리 문자열을 해당 구성 요소로 구문 분석하는 방법을 사용하고 있습니까? (0 색인은 단지 예일 뿐이 었는데, 나중에 텍스트 부분 만 꺼낼 수 있다면 나중에 색인을 연결한다고 생각 했습니까?)

답변

0

코멘트에서 PHP의 문서에

(코멘트에서 언급 한 바와 같이)이 아니라 현재 요청에서, 문자열에서 URL을 구문 분석하려고하는 것으로 보인다는 않습니다 좋은 기능이있다 정확히 당신이 원하는, 내가 여기를 복사 한, 그래서 미래의 참조에 사용할 수 있습니다 - 모든 신용을 "사이먼 D"간다 - 그것은 다음과 같이 사용되어야 의미 http://dk.php.net/manual/en/function.parse-url.php#104527

<?php 
/** 
* Returns the url query as associative array 
* 
* @param string query 
* @return array params 
*/ 
function convertUrlQuery($query) { 
    $queryParts = explode('&', $query); 

    $params = array(); 
    foreach ($queryParts as $param) { 
     $item = explode('=', $param); 
     $params[$item[0]] = $item[1]; 
    } 

    return $params; 
} 
?> 

:

$array = convertUrlQuery(parse_url($url, 6)); 
+0

이해가 안됩니다. 데이터베이스 (현재 요청이 아닌)에서 오는 URL 문자열로 어떻게 할 수 있습니까? 내가 오해하는 경우, 사용 예제를주세요. – Anders

+0

URL 문자열은 어떻게 데이터베이스에서 가져올 수 있습니까? 뭐하고있어? –

+0

앞서 언급했듯이 Asp.Net의 요청 개체에서 가져온 데이터는 이전에 데이터베이스에 저장되어 있습니다. 그래서 현재의 PHP 응용 프로그램이해야 할 일은 데이터베이스에있는 URL을 읽고 그리드에 표시하기 위해 읽을 수있는 형식으로 구문 분석 할 수있게하는 것입니다. – Anders

관련 문제