我有一个程序可以从网络中删除某些页面;然后我想遍历剩余的页面并“取消链接”到那些已删除页面的任何链接。我正在使用 simplehtmldom。我的函数需要一个源页面 ($source) 和一个页面数组 ($skipList)。它找到链接,然后我想操纵 dom 将元素转换为 $link->innertext,但我不知道如何。有什么帮助吗?
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);
}