돔파서에서 링크만 찾아서 출력하기
파싱을 제대로 해야 하는데 잘 안될때가 있는데 그런경우 사용하는 방법중 하나 입니다.
전체를 출력하고 그곳에서 필요한 부분만 사용을 하는데 보통 링크 같은 경우는 이렇게 해도 큰 문제가 되지 않습니다.
프로그램을 잘 한다는것은 문제 해결을 잘 한다는 것입니다.
문제 해결을 잘하는 사람은 코딩도 잘하는 편이지만 약간 다를 수 있기도 합니다.
한번 사용하면 그만인 프로그램을 만들때는 빠르게 처리하여 마무리하는것이 제일 좋은 방법이겠습니다.
$dom = new DOMDocument('1.0', 'UTF-8');
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$links = array();
$anchorTags = $xpath->query("//a[@href]");
foreach ($anchorTags as $anchor) {
$href = $anchor->getAttribute('href');
if ( stristr($href, 'detail') ) {
$href = trim($href);
// parse_str(parse_url($href, PHP_URL_QUERY), $aGET);
// $nddo = $aGET['nddo'] ?? '';
}
}
돔파서를 사용할때는 utf-8 이어야합니다. 아니라면 utf-8로 만들어 줘야 하는데 ...
만들어 줘야할 부분은 전체 문서에 한글이 있다면 전체 문서 변환도 필요하면 해야 겠지만 돔파서에선 메타태그에 있는 캐릭터셋이 무엇이냐가 중요합니다. 이부분이 utf-8 아니라면 반드시 변경을 해줘야 합니다.