在 PHP 中,您可以使用 htmlspecialchars()
函数将 HTML 字符转换为文本。该函数将把 <
、>
、"
和 '
等特殊字符转换为对应的 HTML 实体,从而避免跨站点脚本(XSS)攻击。
例如,如果您有一个表单输入字段的值,您可以使用以下代码将其转换为文本:
php
$text = htmlspecialchars($_POST['input_field']);
要展示 HTML 字符时恢复 HTML,您可以使用 htmlspecialchars_decode()
函数。该函数将 HTML 实体转换回原始的特殊字符。
例如,如果您要将上述示例中的文本恢复为 HTML,您可以使用以下代码:
php
$html = htmlspecialchars_decode($text, ENT_QUOTES);
请注意,ENT_QUOTES
参数表示同时转换单引号和双引号。如果您只希望转换双引号而不转换单引号,可以使用 ENT_QUOTES
。
以下是完整的示例代码,演示了如何在 PHP 中将 HTML 字符转换为文本并恢复 HTML:
php
<?php
// 将 HTML 字符转换为文本
$text = htmlspecialchars($_POST['input_field']);
// 在页面上输出文本
echo $text;
// 将文本恢复为 HTML
$html = htmlspecialchars_decode($text, ENT_QUOTES);
// 在页面上输出恢复后的 HTML
echo $html;
?>
请注意,使用这些函数时,务必确保对用户输入的内容进行适当的验证和过滤,以防止潜在的安全漏洞。
@漏刻有时