这是我的代码行,效果很好:
$content = htmlspecialchars($_POST['content'], ENT_QUOTES);
但我想做的是只允许某些类型的 HTML 代码通过而不进行转换。这是我希望通过的 HTML 代码列表:
<pre> </pre>
<b> </b>
<em> </em>
<u> </u>
<ul> </ul>
<li> </li>
<ol> </ol>
在我进行的过程中,我还希望以后能够在我想到的时候添加更多的 HTML。有人可以帮我修改上面的代码,让上面指定的 HTML 代码列表可以通过而不被转换吗?
最佳答案
我想你可以在事后这样做:
// $str is the result of htmlspecialchars()
preg_replace('#<(/?(?:pre|b|em|u|ul|li|ol))>#', '<\1>', $str);
它允许 <xx>
的编码版本和 </xx>
其中 xx
在一组受控的允许标签中。
关于php - 如何使用 htmlspecialchars 但只允许特定的 HTML 代码通过而不进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12819804/