php读取html并截取字符串的简单代码

下面是关于如何用PHP读取HTML并截取字符串的简单代码的攻略。

下面是关于如何用PHP读取HTML并截取字符串的简单代码的攻略。

前置知识

在进行这个任务之前,你需要了解以下基础知识:

  • 基本的PHP语法和函数
  • HTML标记和其语法

步骤

以下是使用PHP读取HTML并截取字符串的简单代码的步骤:

  1. 使用PHP内置函数file_get_contents()获取要读取的HTML文件的完整内容,将其赋值给一个变量。示例代码如下:
$html = file_get_contents('http://example.com');

这段代码将从"http://example.com"这个URL中获取完整的HTML内容,并将其赋值给名为"$html"的变量。需要注意的是,如果网站需要登录才能查看内容,你可能需要使用其他途径读取HTML内容,比如使用PHP的CURL扩展。

  1. 使用字符串截取函数,比如substr()、strpos()等,截取出你所需要的部分。示例代码如下:
$start = strpos($html, '<body>') + 6; // 从<body>标签后面开始
$end = strpos($html, '</body>', $start);
$content = substr($html, $start, $end - $start);

这段代码中,我们使用strpos()函数找到HTML中“”标记的位置,并从其后面的第6个字符开始,使用另一个strpos()函数找到“”标记的位置,并使用substr()函数截取出我们需要的内容。

  1. 输出截取出来的内容。示例代码如下:
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并截取字符串的简单代码

基础教程推荐