특정 단어 뒤의 값을 추출하는 문제입니다.

특정 단어 뒤의 값을 추출하는 문제입니다.

QA

특정 단어 뒤의 값을 추출하는 문제입니다.

답변 3

본문

 안녕하세요. 
 
현재 wr_3 에 아래와 같은 값이 들어가 있습니다.

http://naver.com/cafe/?a_code=AAABBBCCC&n_query=%EC%A4%84%EA%B8%B0%EC%84%B8%ED%8F%AC%EA%B0%80%EC%8A%B4%EC%84%B1%ED%98%95%EB%B9%84%EC%9A%A9&DMSKW=%EC%A4%84%EA%B8%B0%EC%84%B8%ED%8F%AC%EA%B0%80%EC%8A%B4%EC%84%B1%ED%98%95%EB%B9%8


위 값중에 a_code= 뒤에 있는 AAABBBCCC 값만 추출해서 보여주고 싶습니다.

이런 질문을 해서 아래와 같은 답변을 얻었습니다.


 

$d = $list[$i]['wr_3'];
$p = "#a_code=(.+?)";
preg_match($p, $d, $m);
echo $m[1];

 

위처럼 하니 AAABBBCCC 가 잘 추출 되어 나오는데 
문제가 한가지 있습니다.

wr_3에 
http://naver.com/cafe/?a_code=AAABBBCCC
위처럼 &로 시작하는 다른 값이 없을 때는 AAABBBCCC를 가지고 오지 못합니다.


AAABBBCCC 뒤에 &가 없어도 AAABBBCCC 를 가지고 오게 하려면 
$p = "#a_code=(.+?)"; 
이 부분을 어떻게 수정해야 할까요?

이 질문에 댓글 쓰기 :

답변 3

https://m.blog.naver.com/PostView.nhn?blogId=tollu09&logNo=220914266833&proxyReferer=https%3A%2F%2Fwww.google.com%2F
해당 블로그 내용 참조해보세요

function getUrlParameter($url, $sch_tag) {
            $parts = parse_url($url);
            parse_str($parts['query'], $query);
            return $query[$sch_tag];
      }

    $my_url = $list[$i][wr_3];
    echo getUrlParamter($my_url, 'a_code');

말씀하신 블로그를 참고하여 위처럼 작성해보았지만

Fatal error: Call to undefined function getUrlParamter()

이라고만 나옵니다 ㅠ_ㅠ


$str = "http://naver.com/cafe/?a_code=AAABBBCCC&n_query=%EC%A4%84%EA%B8%B0%EC%84%B8%ED%8F%AC%EA%B0%80%EC%8A%B4%EC%84%B1%ED%98%95%EB%B9%84%EC%9A%A9&DMSKW=%EC%A4%84%EA%B8%B0%EC%84%B8%ED%8F%AC%EA%B0%80%EC%8A%B4%EC%84%B1%ED%98%95%EB%B9%8";
$url = parse_url($str);
parse_str($url['query'], $query);
echo $query['a_code'];
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로