是否有一个PHP函数htmlspecialchars()除了某些标签以外的所有东西?

Rya*_*yan 1 php tags html-escape-characters

如果我可以调用my_escape($text, '<p><b><i>')除了所有和标签之外的所有内容<p>,那将是很好的.我正在寻找一个通用的解决方案,我可以指定一组任意标签.这存在吗?如果不是,实施它的最佳方法是什么?<b><i>

小智 7

在htmlspecialchars函数中,它将html标签转换为

& to &amp;
" to &quot;
' to &#039;
< to &lt;
> to &gt;
Run Code Online (Sandbox Code Playgroud)

转换后你可以反向解码

<?php
$test="<p><b><a>Test</b></a></p>";

$test = htmlspecialchars($test);

$test = str_replace("&lt;p&gt;", "<p>", $test);
$test = str_replace("&lt;i&gt;", "<i>", $test);
$test = str_replace("&lt;b&gt;", "<b>", $test);
$test = str_replace("&lt;/b&gt;", "</b>", $test);
$test = str_replace("&lt;/i&gt;", "</i>", $test);
$test = str_replace("&lt;/p&gt;", "</p>", $test);

echo $test;
?>
Run Code Online (Sandbox Code Playgroud)