0
웹에서 특정 페이지를 제거하는 프로그램이 있습니다. 그런 다음 나머지 페이지를 가로 지르고 제거 된 페이지에 대한 링크를 "링크 해제"하고 싶습니다. 나는 simplehtmldom을 사용하고있다. 내 함수는 소스 페이지 ($ source)와 페이지 배열 ($ skipList)을 취한다. 그것은 링크를 발견하고, 그때 요소를 $ link-> innertext로 변환하기 위해 dom을 조작하고 싶습니다. 그러나 나는 어떻게 해야할지 모르겠습니다. 어떤 도움이 필요합니까?일반 텍스트로 링크를 PHP로 대체 html dom
function RemoveSpecificLinks($source, $skipList) {
// $source is the html source file;
// $skipList is an array of link destinations (hrefs) that we want unlinked
$docHtml = file_get_contents($source);
$htmlObj = str_get_html($docHtml);
$links = $htmlObj->find('a');
if (isset($links)) {
foreach ($links as $link) {
if (in_array($link->href, $skipList)) {
$link->href = ''; // Should convert to simple text element
}
}
}
$docHtml = $htmlObj->save();
$htmlObj->clear();
unset($htmlObj);
return($docHtml);
}
감사합니다. 나는 innertext로 갔다. 링크의 텍스트에 html 형식을 유지하지만 plaintext, innertext 또는 href는 모두 작동한다. 내가 그 생각을하지 않으려 고하는 그런 명확한 해결책. 다시 한 번 감사드립니다 ... –
문제 없습니다. 다행히 도울 수있다. :-) – George