파싱 해서 가져오는 방법 질문입니다.
본문
{
"success": true,
"start": 0,
"limit": 20,
"total": 99,
"posts": [
{
"idx": 1,
"bid": "notice",
"title": "테스트 공지",
},
{
"idx": 2,
"bid": "free",
"title": "aaaaa",
},
{
"idx": 44,
"bid": "qna",
"title": "what?",
}
]
}
요런 html로 정보를 받고 있습니다.
include "simple_html_dom.php";
이걸 써서 파싱을 하라고 하는데
예를 들어 notice 의 글만 가져 올려고 하면 어떻게 해야 할까요?
답변 4
$dom = new simple_html_dom();
$dom->load($html);
foreach ($dom->find('div[title]') as $post) {
$title = $post->plaintext;
echo "Title: $title\n";
}
$dom->clear();
스스로 찾아서 했습니다.
api로 거르는게 아니면 notice만 나온 페이지의 데이터부분 받는곳은 크롬 개발자도구로 열어서
그쪽 url로 들어가시면 notice만 나옵니다. 그게 없다면 안됩니다.
simple_html_dom.php 의 소스가 있어야 사용방법을 알수 있습니다.
$tmp_data = '';
$url = "URL주소";
$tmp_data = file_get_contents_curl($url);
$tmp_data = json_decode($tmp_data);
$data = array();
foreach($tmp_data['posts'] as $k => $v){
if($v['bid'] == 'notice') $data[] = $v;
}
print_r($data);
대략 이정도 일듯 하네요.
!-->