我正在使用当前功能:
function callframe(){
$ch = curl_init("file.html");
curl_setopt($ch, CURLOPT_HEADER, 0);
echo curl_exec($ch);
curl_close($ch);
}
然后我调用callframe(),它出现在我的php页面上。 我们假设这是file.html内容:
<html>
<body>
[...]
<td class="bottombar" valign="middle" height="20" align="center" width="1%" nowrap>
[...]
<a href="link.html">Link</a>
[...]
</body>
</html>
<td class="bottombar" valign="middle" height="20" align="center" width="1%" nowrap>
行?感谢您的帮助!
ps:您可能想问为什么我不直接更改file.html。那么,毫无疑问。
答案 0 :(得分:1)
为了让您入门,而不仅仅是回显curl_exec
,请先存储它,以便您可以使用它:
$html = curl_exec($ch);
现在,将其加载到DOMDocument
,然后您可以使用它来解析和进行更改:
$dom = new DOMDocument();
$dom->loadHTML($html);
现在,对于第一项任务(删除该行),它看起来像是:
//
// rough example, not just copy-paste code
//
$tds = $dom->getElementsByTagname('td'); // $tds = DOMNodeList
foreach ($tds as $td) // $td = DOMNode
{
// validate this $td is the one you want to delete, then
// call something like:
$parent = $td->parentNode;
$parent->removeChild($td);
}
也可以执行任何其他类型的处理。
然后,最后致电:
echo $dom->saveHTML();
答案 1 :(得分:0)
您可以将输出作为一个变量,并可以使用字符串函数来完成您的工作
function callframe(){
$ch = curl_init("file.html");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
$result = str_replace("link.html","http://www.whatever.com/link.html", $result);
// other replacements as required
curl_close($ch);
}
答案 2 :(得分:0)
这就是我做到的。 更改例如选项字段(用于搜索字符串) 这会更改我的选项列表的第二个值,并将其替换为我想要的值。
require('simple_html_dom.php');
$html = file_get_html('fileorurl');
$e = $html->find('option', 0) ->next_sibling ();
$e->outertext = '<option value="WTR">Tradition</option>';
然后 echo $ html;