-2
我有一个PHP的strip_tags
函数的问题。我有一个包含html标记白名单的列表。从像函数生成的列表:我不能使用PHP的strip_tags功能与其他功能
setAllowedHtmlTags();
和输出这一功能是:
"<a><table><br>"
我想消除其他HTML标签,但是这一点。所以我用strip_tags的功能如下:
echo strip_tags("sample text", setAllowedHtmlTags());
这里是我的功能:
function setAllowedHtmlTags()
{
$db = new PDO('mysql:host=' . host . ';dbname=' . DBNAME_SCHEMA, user, password);
$sql = "SELECT html_tag FROM allowed_html_tags_table";
$query = $db->query($sql);
$tagList = "";
if ($query->rowCount()){
foreach($query as $row){
$tagList .= $row['html_tag'];
}
}
return htmlentities($tagList);
}
但它不工作。 strip_tags
函数删除我的白名单中的所有html标记,包括地雷。你能帮我解决这个问题吗?
添加'setAllowedHtmlTags'功能 – Dekel
的代码[似乎按预期方式工作(https://3v4l.org/RvojD) –
不是真正重要的,但为什么你会用一个函数只是返回'”
“',为什么不设置'const'或什么的。 – Pitchinnate
回答
您的功能
setAllowedHtmlTags()
是否真的回传您告诉我们的内容? 尝试一个var_dump(setAllowedHtmlTags());
以查看函数真正返回的内容。或者您可能想拨打电话g etAllowedHtmlTags()?
来源
2016-12-28 15:41:52 saitho
是的,它返回我想要的字符串。 –
好吧,我发现问题,返回值与html_entity_decode()函数,而不是htmlentities()函数为我工作。
来源
2016-12-30 09:04:31
相关问题