使用PHP获取页面的HTML源代码

5
如果我有一个HTML文件:
<!doctype html>
 <html>
  <head></head>
   <body>
    <!-- Begin -->
    Important Information
    <!-- End -->
   </body>
  </head>
 </html>

我该如何使用PHP从文件中获取字符串 "Important Information"?


2
请查看https://dev59.com/EnA65IYBdhLWcg3w4C-j。 - Jacob
我不太担心解析,而是更担心先获得代码。 - JJJollyjim
如何将 "<!doctype html> <html> <head></head> <body> <!-- Begin --> Important Information <!-- End --> </body> </head> </html>" 转换为 PHP $ 变量? - JJJollyjim
标题非常误导,你并没有“获取HTML源代码”。你只是获取了文本。 - BoltClock
你建议我将标题编辑为什么? - JJJollyjim
显示剩余3条评论
3个回答

5
如果您已经解析好了,只需使用 file_get_contents()。您可以将URL传递给它,它将返回在该URL找到的内容,即HTML。或者,如果您本地有文件,则将文件路径传递给它。

2
在这个简单的例子中,您可以打开文件并使用fgets()函数,直到找到带有<!-- Begin -->的行,并保存这些行,直到找到<!-- End -->
如果您的HTML代码存储在一个变量中,您只需要执行以下操作:
<?php
$begin = strpos($var, '<!-- Begin -->') + strlen('<!-- Begin -->'); // Can hardcode this with 14 (the length of your 'needle'
$end   = strpos($var, '<!-- End -->');

$text = substr($var, $begin, ($end - $begin));

echo $text;
?>

您可以在这里查看输出结果。

我该如何使用fgets与$var变量? - JJJollyjim
不要忘记在 <!-- Begin --> 前留空格。 - Phil
这个 $var 是包含 HTML 内容的字符串吗? - Murilo Vasconcelos

-1
你可以通过这个方法获取“HTML”。
//file_get_html function from third party library
// Create DOM from URL or file
$html = file_get_html('http://www.example.com/');

如果您需要对DOM进行任何操作,请阅读以下文档:http://de.php.net/manual/en/book.dom.php

2
ењЁDOMж€–PHPдё­жІЎжњ‰file_get_htmlгЂ‚ - Gordon
3
@Manish simplehtmldom是第三方库,不是PHP原生扩展。你在回答中链接了DOM - Gordon
@gordon:我没有提到它。对此感到抱歉。 - Manish Trivedi
1
(提示)当您知道您的答案是错误的时候,请纠正它。人们可能会取消踩的投票。 - Gordon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接