下面是关于如何用PHP读取HTML并截取字符串的简单代码的攻略。
前置知识
在进行这个任务之前,你需要了解以下基础知识:
- 基本的PHP语法和函数
- HTML标记和其语法
步骤
以下是使用PHP读取HTML并截取字符串的简单代码的步骤:
- 使用PHP内置函数file_get_contents()获取要读取的HTML文件的完整内容,将其赋值给一个变量。示例代码如下:
$html = file_get_contents('http://example.com');
这段代码将从"http://example.com"这个URL中获取完整的HTML内容,并将其赋值给名为"$html"的变量。需要注意的是,如果网站需要登录才能查看内容,你可能需要使用其他途径读取HTML内容,比如使用PHP的CURL扩展。
- 使用字符串截取函数,比如substr()、strpos()等,截取出你所需要的部分。示例代码如下:
$start = strpos($html, '<body>') + 6; // 从<body>标签后面开始
$end = strpos($html, '</body>', $start);
$content = substr($html, $start, $end - $start);
这段代码中,我们使用strpos()函数找到HTML中“
”标记的位置,并从其后面的第6个字符开始,使用另一个strpos()函数找到“”标记的位置,并使用substr()函数截取出我们需要的内容。- 输出截取出来的内容。示例代码如下:
echo $content;
这段代码将输出我们截取出来的HTML内容。
示例说明
以下是两条示例说明:
示例1
我们需要从"http://example.com"这个网站上读取其首页中的第一篇新闻标题,假设其HTML代码如下:
<html>
<head>
<title>Example News</title>
</head>
<body>
<div class="news">
<h1>First News</h1>
<p>...</p>
</div>
<div class="news">
<h1>Second News</h1>
<p>...</p>
</div>
<div class="news">
<h1>Third News</h1>
<p>...</p>
</div>
</body>
</html>
则我们可以用以下代码读取标题:
$html = file_get_contents('http://example.com');
$start = strpos($html, '<h1>') + 4; // 从<h1>标签后面开始
$end = strpos($html, '</h1>', $start);
$title = substr($html, $start, $end - $start);
echo $title;
这段代码将输出“First News”这个标题。
示例2
我们需要从"http://example.com"这个网站上读取其首页中所有新闻的摘要,假设其HTML代码如下:
<html>
<head>
<title>Example News</title>
</head>
<body>
<div class="news">
<h1>First News</h1>
<p>First News Summary...</p>
</div>
<div class="news">
<h1>Second News</h1>
<p>Second News Summary...</p>
</div>
<div class="news">
<h1>Third News</h1>
<p>Third News Summary...</p>
</div>
</body>
</html>
则我们可以用以下代码读取摘要:
$html = file_get_contents('http://example.com');
$div_start = strpos($html, '<div class="news">'); // 找到第一个新闻div的起始位置
$summary_list = array();
while ($div_start !== false) {
$start = strpos($html, '<p>', $div_start) + 3; // 从<p>标签后面开始
$end = strpos($html, '</p>', $start);
$summary_list[] = substr($html, $start, $end - $start);
$div_start = strpos($html, '<div class="news">', $end); // 找到下一个新闻div的起始位置
}
// 输出摘要列表
foreach ($summary_list as $summary) {
echo $summary . "<br>";
}
这段代码将输出以下三条摘要:
First News Summary...
Second News Summary...
Third News Summary...
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php读取html并截取字符串的简单代码 - Python技术站