특정 단어 뒤의 값을 추출하는 문제입니다.
안녕하세요.
현재 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];</p>
<p>
위처럼 하니 AAABBBCCC 가 잘 추출 되어 나오는데
문제가 한가지 있습니다.
wr_3에
http://naver.com/cafe/?a_code=AAABBBCCC
위처럼 &로 시작하는 다른 값이 없을 때는 AAABBBCCC를 가지고 오지 못합니다.
AAABBBCCC 뒤에 &가 없어도 AAABBBCCC 를 가지고 오게 하려면
$p = "#a_code=(.+?)&#";
이 부분을 어떻게 수정해야 할까요?
답변 3개
</p>
<p>$str = "<a href="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";" target="_blank" rel="noopener noreferrer">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>
$url = parse_url($str);
parse_str($url['query'], $query);
echo $query['a_code'];</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
https://m.blog.naver.com/PostView.nhn?blogId=tollu09&logNo=220914266833&proxyReferer=https%3A%2F%2Fwww.google.com%2F">https://m.blog.naver.com/PostView.nhn?blogId=tollu09&logNo=220914266833&proxyReferer=https%3A%2F%2Fwww.google.com%2F
해당 블로그 내용 참조해보세요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$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()
이라고만 나옵니다 ㅠ_ㅠ