从file_get_contents更改/删除html

时间:2012-02-22 22:32:10

标签: php javascript jquery html

我目前正在使用此代码:

$blog= file_get_contents("http://powback.tumblr.com/post/" . $post);
echo $blog;

它有效。但是tumblr添加了一个脚本,每次输入密码字段时都会激活该脚本。所以我的问题是:

我可以使用file_get_contents删除某些部分吗?或者只删除<html>标记上方的所有内容?我可能会杀死整个div所以它根本不会加载吗?如果是这样;如何?

编辑:

我设法以简单的方式做到了。跳过766个字符。该脚本现在按预期工作!

$blog= file_get_contents("powback.tumblr.com/post/"; . $post, NULL, NULL, 766);

3 个答案:

答案 0 :(得分:2)

file_get_contents返回后,您手中有一根绳子。你可以做任何你想做的事情,包括切掉它的一部分。

实际切割有两种方法:

  1. 使用str_replacepreg_replace等字符串函数;确切的配方取决于你需要做什么。这种方法是kind of frowned upon,因为你在错误的抽象层次上工作,但在某些情况下,它具有无与伦比的性能与时间比率。
  2. Parsing the HTML进入DOM tree,对其进行适当修改(这次是在适当的抽象级别工作),然后是turn it back into a string并回复它。如果您的要求不是简单且易于维护,则可以更方便地使用它,但通常需要编写更多代码。
  3. 如果你想做一些在HTML文档术语中最自然表达的事情(“删除这个<div>”),那么不要动心并采用第二种方法。

答案 1 :(得分:1)

此时,$ blog只是一个字符串,因此您可以使用普通的PHP函数来改变它。看看这两个:

http://php.net/manual/en/function.str-replace.php

http://us2.php.net/manual/en/function.preg-replace.php

答案 2 :(得分:0)

您可以使用simple html dom parser解析输出并显示您真正想要显示的内容