如何使用file_get_contents()
提取$homepage
变量的某个部分?如何仅使用file_get_contents提取某些数据
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
如何使用file_get_contents()
提取$homepage
变量的某个部分?如何仅使用file_get_contents提取某些数据
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
最好的解决办法可能是它已经被加载后处理$homepage
变量。看看String functions和regular expressions。
file_get_contents()
支持可用于控制文件的部分得到加载什么offset
和maxlen
选项,但offset
对非本地文件用作您的例子,当由文档描述为“不可预知”的行为。
也就是说,maxlen
可能是安全的,所以如果你知道你想要的将会在文件的第一个N位中,你可以使用它来修剪结束。因此,如果您确定只需要首页的前100个字节,则可以执行类似file_get_contents ('http://www.example.com/', false, NULL, -1, 100)
的操作。但是除非你想要精确的前100个字节,否则你仍然需要做一些后期处理。
请参阅http://php.net/manual/en/function.file-get-contents.php了解更多信息。
你的问题不是很大大问,但是在抽象的层面上,我相信,你正在寻找的字符串操作经验:)这里有我分享几个环节,
顺便说一句,这一切都取决于你想要提取什么,如果你能详细阐述更详细的问题,这将有助于我们回答你的位置!
欢呼
PS:屏幕抓取是一个坏主意,除非你是弃置自己的网页(这DOSENT真正意义:))。理由就是你永远不知道当WWW.EXAMPLE.COM都不会改变,你的操控逻辑将不再USEFULL
这里是一个正则表达式和PHP的例子。
<?php
$f = file_get_contents ("http://www.example.com");
$f = preg_replace ("(\ |\r|\n|\t)", "", $f); // optional
$f = preg_replace ("/\s\s+/", " ", $f); // optional spaces
if (preg_match ("/<h1>(.*)<\/h1>/", $f, $res)) {
$data = $res [1];
}
echo $data;
?>
查看与此主题相关的任何数量的问题:http://stackoverflow.com/search?q=%5Bphp%5D+extract+part+of+a+webpage – deceze