欢迎访问宙启技术站
智能推送

将HTML标记从字符串中删除的10个PHP函数

发布时间:2023-12-10 14:13:32

在PHP中,有许多函数可以用来从字符串中删除HTML标记。下面是十个常用的PHP函数:

1. strip_tags():这个函数用于从字符串中删除HTML和PHP标记。它接受一个字符串作为参数,并返回一个只包含文本的字符串。例如:

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = strip_tags($string);
echo $filteredString;
// 输出:Hello World!

2. htmlspecialchars():这个函数用于将HTML标记转换为它们的字符实体。它是防止跨站点脚本攻击的常用方法之一。例如:

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = htmlspecialchars($string);
echo $filteredString;
// 输出:&lt;p&gt;Hello &lt;b&gt;World&lt;/b&gt;!&lt;/p&gt;

3. htmlentities():这个函数类似于htmlspecialchars(),但它将所有实体字符转换为其对应的HTML实体字符。例如:

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = htmlentities($string);
echo $filteredString;
// 输出:&lt;p&gt;Hello &lt;b&gt;World&lt;/b&gt;!&lt;/p&gt;

4. strip_tags()和htmlspecialchars()的结合:有时候,您可能希望同时删除HTML标记并将其转换为字符实体。您可以结合使用strip_tags()和htmlspecialchars()来实现这一点。例如:

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = htmlspecialchars(strip_tags($string));
echo $filteredString;
// 输出:Hello World!

5. preg_replace():这个函数允许您使用正则表达式从字符串中删除HTML标记。例如:

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = preg_replace('/<.*?>/', '', $string);
echo $filteredString;
// 输出:Hello World!

6. str_replace():这个函数用于将字符串中的指定部分替换为其他字符串,可以用来删除HTML标记。例如:

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = str_replace(['<p>', '<b>', '</b>', '</p>'], '', $string);
echo $filteredString;
// 输出:Hello World!

7. filter_var():这个函数用于过滤字符串,可以通过使用FILTER_SANITIZE_STRING标记来删除HTML标记。例如:

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = filter_var($string, FILTER_SANITIZE_STRING);
echo $filteredString;
// 输出:Hello World!

8. HTMLPurifier:这是一个PHP库,用于从字符串中删除HTML标记。您需要在使用之前安装它,并使用其API进行操作。例如:

require 'HTMLPurifier/library/HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = $purifier->purify($string);
echo $filteredString;
// 输出:Hello World!

9. DOMDocument:这是一个PHP内置类,用于解析和处理HTML文档。您可以使用它来删除HTML标记。例如:

$string = "<p>Hello <b>World</b>!</p>";
$dom = new DOMDocument();
$dom->loadHTML($string);
$filteredString = $dom->textContent;
echo $filteredString;
// 输出:Hello World!

10. 自定义函数:如果上述函数不能满足您的需求,您可以编写自己的函数来删除HTML标记。例如:

function removeHtmlTags($string) {
    return preg_replace('/<.*?>/', '', $string);
}

$string = "<p>Hello <b>World</b>!</p>";
$filteredString = removeHtmlTags($string);
echo $filteredString;
// 输出:Hello World!

这是十个常用的PHP函数,可以用于从字符串中删除HTML标记。您可以根据自己的需求选择其中之一来实现您的目标。