📜  剥离 html 标签 php (1)

📅  最后修改于: 2023-12-03 14:50:23.343000             🧑  作者: Mango

剥离 HTML 标签 PHP

在 PHP 中,我们可以使用一些函数来剥离 HTML 标签。这对于需要从网页中提取文本内容的应用程序很有用。在这篇文章中,我们将介绍如何使用 PHP 剥离 HTML 标签。

strip_tags 函数

PHP 中的 strip_tags 函数可以帮助我们从字符串中删除 HTML 标签。它带有两个参数:

  • 第一个参数是要剥离标签的字符串。
  • 第二个参数是要保留的 HTML 标签。

例如,下面的代码会将字符串中的所有 HTML 标签都剥离:

$string = '<div><p>Hello, world!</p></div>';
$stripped_string = strip_tags($string);

echo $stripped_string;
// Output: Hello, world!

如果您需要保留某些 HTML 标签,您可以使用第二个参数。例如,下面的代码保留了段落标签:

$string = '<div><p>Hello, world!</p></div>';
$allowed_tags = '<p>';
$stripped_string = strip_tags($string, $allowed_tags);

echo $stripped_string;
// Output: <p>Hello, world!</p>
使用 DOMDocument 类

如果您需要剥离 HTML 标签和属性,例如从 HTML 中提取文本内容和链接地址,您可以使用 PHP 的 DOMDocument 类。这个类允许我们以 DOM(文档对象模型)形式加载 HTML,并使用一些方法和属性来访问和操作 HTML 元素。

下面的代码演示了如何使用 DOMDocument 类将 HTML 加载到 DOM 中,然后使用 nodeValue 属性来提取文本内容:

$html = '<html><body><p>Hello, world!</p></body></html>';
$dom = new DOMDocument();
$dom->loadHTML($html);

$paragraph = $dom->getElementsByTagName('p')->item(0);
$text = $paragraph->nodeValue;

echo $text;
// Output: Hello, world!

您还可以使用 getAttribute 方法来提取链接地址:

$html = '<html><body><a href="http://example.com">Example</a></body></html>';
$dom = new DOMDocument();
$dom->loadHTML($html);

$link = $dom->getElementsByTagName('a')->item(0);
$url = $link->getAttribute('href');

echo $url;
// Output: http://example.com
最后的思考

在 PHP 中,我们可以使用 strip_tags 函数和 DOMDocument 类来剥离 HTML 标签。这对于需要从网页中提取文本内容的应用程序很有用。但请注意,在从 Web 中提取数据时,请始终确认您已获得授权,并将其用于合法目的。